/* Storefront: quiet surfaces, useful shortcuts, borderless product cards. */
.address-intro{margin-bottom:17px}
.saved-address{margin-bottom:12px;border:1px solid #e8dfd8;border-radius:22px;background:#fff8;overflow:hidden}
.saved-address.chosen{border-color:#cbb09f;background:#f6eeea88}
.address-select{display:flex;gap:12px;width:100%;text-align:left;padding:16px}
.address-select>span:last-child{display:flex;flex-direction:column;gap:6px;min-width:0}
.address-select strong{font-size:15px;font-weight:600}
.address-select span span{font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.address-select small{font-size:11px;color:#988c82}
.address-select .address-default{color:#a07a65}
.address-radio{color:#af8e7a;padding-top:2px}
.address-radio svg{width:20px;height:20px}
.address-actions{display:flex;justify-content:space-between;padding:10px 16px;border-top:1px solid #e8dfd877}
.address-actions button{display:flex;align-items:center;gap:5px;font-size:12px;color:#a08474;padding:5px 0}
.address-actions svg{width:15px;height:15px}
.address-empty{text-align:center;padding:25px 12px}.address-empty>svg{color:#b59885;width:35px;height:35px;margin-bottom:14px}.address-empty h2{margin-bottom:10px}
.address-editor{max-height:96%}
.address-editor-actions{display:flex;flex-direction:column-reverse;gap:12px}.address-editor-actions .primary{margin-top:4px}
.delivery-location{display:flex;align-items:center;gap:9px;width:100%;padding:0 5px 15px;text-align:left;color:#9d8375}
.delivery-location>svg:first-child{width:18px;height:18px}
.delivery-location>svg:last-child{width:13px;height:13px;margin-left:auto}
.delivery-location>span{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.delivery-location small{font-size:10px;letter-spacing:.15px;color:#9e9690}
.delivery-location strong{font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6e635a}
.service-strip{display:flex;justify-content:space-between;gap:10px;margin:-5px 0 20px;padding:0 2px;color:#8c7e74;font-size:10px}
.service-strip span{display:flex;align-items:center;gap:5px}
.service-strip svg{width:15px;height:15px;stroke-width:1.4}
.home-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 0 20px;margin-bottom:2px;border-bottom:1px solid #e9e1da70}
.home-shortcuts button{display:flex;flex-direction:column;gap:8px;align-items:center;font-size:11px;color:#77685f;padding:8px 0}
.home-shortcuts svg{width:21px;height:21px;color:#b29787}
.home-section{margin-top:27px}
.home-section .section-heading h2{font-size:16px;letter-spacing:-.3px}
.section-heading .text-button{display:flex;gap:2px;align-items:center;font-size:12px}
.section-heading .text-button svg{width:12px;height:12px}
.home-order{width:100%;display:flex;align-items:center;gap:12px;background:#edf1e98c;border-radius:20px;margin-top:20px;padding:14px;text-align:left}
.home-order>span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1}
.home-order strong{font-size:13px;font-weight:550}
.home-order small{font-size:11px;color:#7e8e76}
.home-order>svg{width:15px;height:15px;color:#8e9a85}
.order-symbol{color:#879a7c}
.product-grid{gap:25px 14px}
.product-card{border:0;border-radius:0;padding:0;background:none;box-shadow:none}
.product-open{border-radius:0}
.product-photo{overflow:hidden;border-radius:18px;aspect-ratio:1;background:#f5f2f0;display:grid;place-items:center}
.product-photo .crop{height:auto;width:100%;border-radius:inherit}
.product-open h3{padding:11px 0 3px;font-size:13px;letter-spacing:-.2px;font-weight:500;line-height:1.45}
.product-caption{display:block;color:#9d9188;font-size:10px;line-height:1.5;text-align:left}
.product-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}
.product-footer .price{padding:0;font-size:15px;font-weight:600;letter-spacing:-.3px}
.quick-add{display:flex;align-items:center;justify-content:center;gap:7px;min-width:36px;height:36px;padding:0 10px;border-radius:50px;background:linear-gradient(145deg,#efe4ddaf,#f7f1ede6);color:#8e6f5c;border:1px solid #fff9;box-shadow:inset 0 1px 0 #fff;font-size:22px;font-weight:300}
.quick-add.has-items{background:#e6d6cdae}
.quick-add.has-items span:first-child{font-size:12px;font-weight:600}
.like{top:3px;right:3px;background:#faf8f7;width:38px;height:38px;border:1px solid #fff7;box-shadow:none}
.like svg{width:19px;height:19px}
.catalog-tools{margin:3px 0 12px;align-items:center}
.catalog-tools .filter-toggle{padding:9px 12px;border-radius:20px;background:#f3ece77d;font-size:12px}
.catalog-sort{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:19px;color:#a2978e;font-size:11px}
.catalog-sort select{border:0;background:transparent;max-width:55%;font-size:11px;color:#7e6f63;padding:5px 0;cursor:pointer}
.active-filters{display:flex;align-items:center;gap:8px;justify-content:space-between;margin:-4px 0 18px;padding:8px 12px;border-radius:14px;background:#f2e9e2a6;font-size:11px;color:#967d6c}
.active-filters button{display:grid;place-items:center;padding:4px}
.active-filters svg{width:14px;height:14px}
.catalog-perk{text-align:center;margin:27px 0 4px;padding:15px 8px;border-top:1px solid #e9e1da80;font-size:11px;line-height:1.6;color:#a08778}
.occasion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.occasion-tile{position:relative;text-align:left;border-radius:20px;background:#f2e7e36e;padding:17px 13px;min-height:105px;display:flex;flex-direction:column;gap:5px}
.occasion-tile:nth-child(2){background:#ece5f077}
.occasion-tile:nth-child(3){background:#eceee47d}
.occasion-tile:nth-child(4){background:#f4e5e66e}
.occasion-tile>svg{width:21px;height:24px;color:#b39b8b;margin-bottom:4px}
.occasion-tile strong{font-size:13px;font-weight:500}
.occasion-tile span{font-size:10px;color:#9b8c80}
.budget-options{display:flex;gap:8px}
.budget-options button{flex:1;white-space:nowrap;border:1px solid #e8ded5aa;background:#fff9;padding:12px 5px;border-radius:22px;font-size:11px;color:#887566}
.home-bonus{display:flex;align-items:center;gap:13px;width:100%;padding:20px 15px;margin-top:27px;text-align:left;background:linear-gradient(120deg,#ebdfdaaa,#f0e8e373,#eee3df9c);border-radius:24px}
.home-bonus>span:nth-child(2){display:flex;flex-direction:column;gap:5px;flex:1}
.home-bonus small{color:#9e8377;font-size:11px}
.home-bonus strong{font-size:22px;font-weight:550;letter-spacing:-.4px}
.home-bonus span span{font-size:10px;color:#9b8a7f}
.bonus-symbol{color:#b8a091;background:#fff5;border-radius:50%;padding:11px;display:grid;place-items:center}
.home-bonus>svg{width:15px;height:15px;color:#a99588}
.shop-guide details{border-bottom:1px solid #e9e1da88}
.shop-guide summary{list-style:none;display:flex;gap:10px;align-items:center;cursor:pointer;padding:16px 0;font-size:12px;color:#71665f}
.shop-guide summary::-webkit-details-marker{display:none}
.shop-guide summary>svg:first-child{width:19px;height:21px;color:#b09d8f}
.shop-guide summary>svg:last-child{margin-left:auto;width:14px;height:14px;transition:transform .25s}
.shop-guide details[open] summary>svg:last-child{transform:rotate(180deg)}
.shop-guide details p{padding:0 7px 17px 29px;font-size:12px;line-height:1.8;color:#95897f}
.florist-help{display:flex;width:100%;gap:12px;align-items:center;padding:20px 0;text-align:left}
.florist-help>svg:first-child{width:24px;height:24px;color:#af9585}
.florist-help>span{flex:1;display:flex;flex-direction:column;gap:5px}
.florist-help strong{font-size:13px;font-weight:500}
.florist-help small{font-size:11px;color:#a0968e}
.florist-help>svg:last-child{width:14px;height:14px;color:#ac998b}
.home-bottom{margin-top:9px;padding:8px 0;color:#b9a89b;letter-spacing:.2px}
@media(max-width:360px){.product-grid{gap:22px 11px}.service-strip{font-size:9px}.occasion-tile{padding:15px 11px}.budget-options{gap:5px}.budget-options button{font-size:10px}.home-bonus{padding:17px 12px;gap:10px}.product-open h3{font-size:12px}.home-section .section-heading h2{font-size:15px}}
.profile-placeholder{position:relative;overflow:hidden;display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:linear-gradient(145deg,#eee0da,#f9f5f2);color:#a48678;flex-shrink:0}.profile-placeholder svg{width:29px;height:29px}.profile-placeholder img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.profile-copy{flex:1;min-width:0}.profile-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.profile-heading h1{min-width:0;overflow-wrap:anywhere}.profile-edit{flex:none;min-height:40px;padding:7px 12px;border:1px solid rgba(185,148,133,.2);border-radius:20px;color:#9b7769;background:rgba(255,255,255,.7);font-size:12px;font-weight:600}.profile-edit:hover{background:#f7efec}.profile-edit:active{transform:scale(.97)}#display-name-form .field input{min-height:50px}

/* Keep the shop identity truly centered between the two header actions. */
.home-header{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:4px;align-items:center}
.home-header .header-left,.home-header .header-right{position:static;inset:auto;top:auto;left:auto;right:auto}
.home-header .header-left{grid-column:1;justify-self:start}
.home-header .brand{grid-column:2;justify-self:center;min-width:0;max-width:100%;gap:6px}
.home-header .brand svg{flex:none}
.home-header .brand-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-header .header-right{grid-column:3;justify-self:end}
@media(max-width:360px){.home-header .brand{font-size:28px}.home-header .brand svg{width:27px;height:34px}}

/* Telegram can render Mini Apps behind its transparent fullscreen header. */
body.telegram-mini-app{padding:0}
.telegram-mini-app .app-shell{width:100%;max-width:480px;height:100dvh;border:0;border-radius:0;box-shadow:none}
.telegram-mini-app .statusbar{display:none}
.telegram-mini-app #app{height:100%;padding-top:max(8px,env(safe-area-inset-top),var(--tg-safe-area-inset-top,0px),var(--tg-content-safe-area-inset-top,0px))}
.telegram-mini-app .bottom-nav{bottom:max(10px,env(safe-area-inset-bottom),var(--tg-safe-area-inset-bottom,0px),var(--tg-content-safe-area-inset-bottom,0px))}
.telegram-mini-app.telegram-fullscreen #app{padding-top:calc(max(8px,env(safe-area-inset-top),var(--tg-safe-area-inset-top,0px),var(--tg-content-safe-area-inset-top,0px)) + 64px)}
