.brand-logo{display:block;width:58px;height:58px;aspect-ratio:1;object-fit:cover;object-position:center;flex-shrink:0;border-radius:50%;clip-path:circle(50%);background:white}
.brand{letter-spacing:-.045em}.product{position:relative}.product-link:after{content:'';position:absolute;inset:0;z-index:1}.product .add{position:relative;z-index:2;flex-shrink:0}.product:focus-within{box-shadow:0 0 0 3px #71896b}.product a:focus-visible{outline:0}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #8ba778;outline-offset:4px}
.cart-unit{color:#829084;margin-top:5px}.cart-subtotal{margin-top:5px;font-weight:700}.qty{align-self:center;gap:8px;flex-shrink:0}.qty button{width:32px;height:32px}.full-button:disabled{opacity:.45;cursor:default}.order-fallback{width:100%;height:180px;margin-top:16px;padding:12px}
.image-unavailable{object-fit:contain!important;color:var(--moss);font-size:13px;padding:20px}.product-page{padding-bottom:80px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);padding:28px 0 20px;line-height:1.8}.breadcrumbs a:hover,.back-link:hover{color:var(--forest);text-decoration:underline}.breadcrumbs [aria-current]{color:var(--ink)}.back-link{display:inline-block;font-size:12px;font-weight:700;margin-bottom:28px}
.product-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:64px;align-items:start}.gallery{min-width:0}.gallery-main{display:flex;align-items:center;justify-content:center;width:100%;height:540px;border:1px solid var(--line);border-radius:22px;padding:0;overflow:hidden;background:#ffffff;position:relative;cursor:zoom-in}.gallery-image{width:100%;height:100%;object-fit:contain;object-position:center;display:block;background:#ffffff}.expand-hint{position:absolute;bottom:20px;left:20px;background:#fffdf7eb;border-radius:50px;padding:10px 16px;font-size:12px;color:var(--pine)}.thumbnails{display:flex;gap:12px;overflow-x:auto;padding:14px 4px}.thumbnail{width:82px;height:82px;flex-shrink:0;padding:3px;border:2px solid transparent;border-radius:13px;background:#ffffff;transition:border-color .2s}.thumbnail.selected{border-color:var(--pine)}.thumbnail img{width:100%;height:100%;object-fit:contain;object-position:center;background:#ffffff;display:block;border-radius:0}
.product-summary{padding-top:16px;min-width:0}.product-summary h1,.product-error h1{font:600 clamp(32px,3.7vw,50px)/1.18 'Playfair Display',Georgia,serif;letter-spacing:-.035em;margin:18px 0 22px}.product-badge{display:inline-block;font-size:11px;font-weight:700;background:#e5eedb;border-radius:50px;padding:9px 14px}.product-size{font-size:14px;color:var(--moss);margin:22px 0}.product-description{font-size:14px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.availability{font-size:13px;font-weight:700}.purchase-box{border-top:1px solid var(--line);padding-top:24px;margin-top:26px}.price-caption{font-size:12px;color:var(--muted)}.product-price{font-size:38px;font-weight:800;letter-spacing:-.04em;margin:6px 0 22px}.product-add{display:flex;align-items:center;justify-content:space-between;max-width:400px;font-size:14px;transition:background .2s,transform .2s}.product-add:hover{background:#183d2c;transform:translateY(-2px)}.product-add span{font-size:22px}.purchase-box .hint{max-width:390px;margin-top:18px}
.plant-characteristics{margin-top:64px;padding:38px;background:#eaf0e3;border-radius:20px;display:grid;grid-template-columns:1fr 1.6fr;gap:40px}.plant-characteristics h2{font:600 32px 'Playfair Display',Georgia,serif;margin:12px 0}.plant-characteristics dl{margin:0}.plant-characteristics dl>div{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;padding:16px 0;border-bottom:1px solid #cedac8;font-size:13px;line-height:1.7}.plant-characteristics dl>div:first-child{padding-top:0}.plant-characteristics dl>div:last-child{border-bottom:0}.plant-characteristics dt{color:#6c806b}.plant-characteristics dd{margin:0;font-weight:600;white-space:pre-line}.product-error{text-align:center;padding:75px 15px 100px}.product-error p{color:var(--muted);margin-bottom:30px}
.lightbox{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;border:0;padding:65px 80px;background:#ffffff;color:var(--ink);overflow:hidden}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox::backdrop{background:#ffffff}.lightbox-content{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;align-items:center;justify-items:center;width:100%;max-width:100%;height:100%;min-width:0;min-height:0;pointer-events:none}.lightbox-content img{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;object-position:center;background:#ffffff;touch-action:pan-y;pointer-events:auto}.lightbox-content p{max-width:100%;margin:0;font-size:12px;text-align:center;line-height:1.6;color:var(--moss);overflow-wrap:anywhere}.lightbox button{position:absolute;z-index:1;width:44px;height:44px;padding:0;display:grid;place-items:center;line-height:1;border:1px solid var(--line);border-radius:50%;background:var(--cream);color:var(--pine);font-size:25px}.lightbox button svg{display:block;width:22px;height:22px;pointer-events:none}.lightbox-close{right:20px;top:18px}.lightbox-prev{left:20px;top:50%;transform:translateY(-50%)}.lightbox-next{right:20px;top:50%;transform:translateY(-50%)}.related-section .dark-link{margin:0;white-space:nowrap}
@media(max-width:1050px){.header{gap:18px}.nav{gap:14px}.header-contact{display:none}.product-layout{gap:32px}.gallery-main{height:480px}.related-section .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.brand-logo{width:42px;height:42px}.header{gap:10px}.brand{gap:7px;font-size:16px}.basket-btn{padding:11px 10px}.product-layout{grid-template-columns:1fr;gap:18px}.gallery-main{height:auto;aspect-ratio:1 / 1;max-height:560px;border-radius:16px}.product-summary{padding-top:10px}.product-summary h1{font-size:36px}.purchase-box{margin-top:20px}.product-add{max-width:none;min-height:54px}.plant-characteristics{grid-template-columns:1fr;gap:18px;margin-top:40px;padding:24px}.plant-characteristics dl>div{grid-template-columns:1fr 1fr;gap:12px}.related-section .section-heading{display:flex;flex-wrap:wrap}.product-page{padding-bottom:55px}.lightbox{padding:65px 12px 85px}.lightbox-prev,.lightbox-next{top:auto;bottom:24px;transform:none}.lightbox-prev{left:calc(50% - 60px)}.lightbox-next{right:calc(50% - 60px)}.drawer{padding:24px}.footer .brand-logo{width:46px;height:46px}}
@media(max-width:360px){.header .brand{font-size:14px}.brand-logo{width:36px;height:36px}.basket-count{margin-left:3px}.related-section .products{grid-template-columns:1fr}.product-summary h1{font-size:31px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.product:hover,.product:hover .product-image,.cta:hover,.product-add:hover{transform:none}}

/* Keep unavailable external photos legible without a browser broken-image icon. */
.image-unavailable{opacity:0}
.image-box:has(.image-unavailable):before,.gallery-main:has(.image-unavailable):before{content:'Фото недоступно';position:absolute;inset:0;display:grid;place-items:center;color:var(--moss);font-size:13px;pointer-events:none}
.lightbox-content:has(.image-unavailable):before{grid-area:1 / 1;content:'Фото недоступно';color:var(--moss);font-size:14px}

.tag-filters{display:flex;align-items:center;gap:12px;margin:0 0 24px;font-size:12px;color:var(--moss)}.tag-filters select{font:inherit;max-width:100%;min-width:180px;padding:10px 16px;border:1px solid var(--line);border-radius:24px;background:var(--cream);color:var(--ink)}.unavailable{color:#8a594d}.product .availability{font-size:11px;margin:0 0 14px}.add:disabled{opacity:.45;cursor:default;background:#e5eedb;color:#254a34}.product-add:disabled:hover{transform:none;background:#28523b}

.photo-placeholder{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;color:var(--moss);padding:20px;text-align:center}

/* Catalog controls retain the existing green palette and keyboard interaction. */
#catalog{scroll-margin-top:20px}
.product .category-link{position:relative;z-index:2;align-self:flex-start}
.category-link:hover{text-decoration:underline}
.stock-filter-row{margin:0 0 22px}
.stock-switch{display:inline-flex;align-items:center;gap:11px;min-height:44px;cursor:pointer;font-size:13px;font-weight:700;color:var(--pine);position:relative}
.stock-switch input{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.stock-switch-track{width:42px;height:24px;border:1px solid #bdcbb8;border-radius:20px;background:#dce4d7;transition:background .2s,border-color .2s;pointer-events:none}
.stock-switch-track:before{content:'';display:block;width:18px;height:18px;margin:2px;background:var(--cream);border-radius:50%;box-shadow:0 1px 3px #203c3030;transition:transform .2s}
.stock-switch input:checked+.stock-switch-track{background:var(--pine);border-color:var(--pine)}
.stock-switch input:checked+.stock-switch-track:before{transform:translateX(18px)}
.stock-switch input:focus-visible+.stock-switch-track{outline:3px solid #8ba778;outline-offset:4px}

.plant-description{display:grid;grid-template-columns:1fr 1.6fr;gap:40px;margin-top:48px;padding:38px;background:var(--cream);border:1px solid var(--line);border-radius:20px}.plant-description h2{font:600 32px/1.2 "Playfair Display",Georgia,serif;margin:12px 0 0}.plant-description .product-description{margin:0;min-width:0;color:var(--moss)}.plant-description+.plant-characteristics{margin-top:28px}@media(max-width:760px){.plant-description{grid-template-columns:minmax(0,1fr);padding:24px;gap:20px;margin-top:36px}.plant-description h2{font-size:30px}}

.telegram-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;font-size:13px;line-height:1.5}.telegram-button:hover:not(:disabled){background:var(--forest)}.telegram-button span{font-size:20px}.order-secondary{display:grid;gap:10px;margin-top:12px}.order-copy,.telegram-fallback{display:block;text-align:center;min-height:44px;padding:12px 14px;border:1px solid #b9cbb3;border-radius:24px;background:transparent;color:var(--pine);font:700 12px/1.5 Manrope,Arial,sans-serif;overflow-wrap:anywhere}.order-copy:hover:not(:disabled),.telegram-fallback:hover{background:#e5eedb}.order-copy:disabled{opacity:.45;cursor:default}.order-notice{font-size:12px;line-height:1.7;padding:12px 14px;background:#eaf0e3;border-radius:12px;color:var(--pine);overflow-wrap:anywhere}.telegram-fallback{margin:12px 0}.cart-item>div:first-child{min-width:0;overflow-wrap:anywhere}.cart-item a:hover{text-decoration:underline}.drawer{padding:24px}.cart-list{min-height:80px}.cart-footer .hint{margin-bottom:0}.order-fallback{display:block;width:100%;height:180px;font-size:12px;line-height:1.6;resize:vertical;border:1px solid var(--line);border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:400px){.drawer{padding:18px}.telegram-button{padding:14px 12px}.qty{gap:6px}.qty button{width:32px;height:32px}}

.lightbox-content:has(.image-unavailable) img{grid-area:1 / 1}

/* Cart membership is shown as text on catalog cards and on product pages. */
.product .bottom{flex-wrap:wrap}
.product .add{width:100%;height:auto;min-height:44px;padding:10px 12px;border-radius:24px;font-size:12px;line-height:1.4}
.product .add.is-in-cart{background:var(--pine);color:#fff}
.product-add.is-in-cart{background:var(--cream);color:var(--pine);box-shadow:inset 0 0 0 1px #a6bda0}
.product-add.is-in-cart:hover:not(:disabled){background:#e5eedb}
.product-add:disabled{cursor:default}
.toast{display:flex;align-items:center;gap:14px;max-width:calc(100% - 32px);width:max-content;min-height:52px;padding:12px 18px;border-radius:16px;line-height:1.5}
.toast.show[data-cart-action="true"]{pointer-events:auto;cursor:pointer}
.toast button{flex-shrink:0;min-height:44px;padding:9px 13px;border:1px solid #d8e8c080;border-radius:24px;background:#e5eedb;color:var(--pine);font:700 12px/1.4 Manrope,Arial,sans-serif}
.toast:focus-within{outline:3px solid #8ba778;outline-offset:4px}
@media(max-width:400px){.toast{width:calc(100% - 32px);gap:8px;padding:10px 12px}.toast button{padding:9px 10px}.toast span{min-width:0}.product .add{font-size:12px}}

.toast.show[data-undo-action="true"]{pointer-events:auto;cursor:default}.toast.in-cart{position:static;transform:none;max-width:100%;width:100%;margin:12px 0;flex-shrink:0}.toast.in-cart.show{transform:none}#toastUndo:disabled{opacity:.5;cursor:wait}#cartNoticeSlot{flex-shrink:0}

/* Compact catalog controls and cart, shared by file and HTTPS pages. */
.cat-row{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding:4px 2px 9px;overscroll-behavior-x:contain;scrollbar-width:thin}
.cat-row .chip,.tag-buttons .chip{flex:0 0 auto;white-space:nowrap}
.catalog-filter-line{display:flex;align-items:center;gap:14px;min-width:0;margin-bottom:20px}
.tag-filters{flex:1;min-width:0;margin:0;overflow:hidden}
.tag-buttons{display:flex;align-items:center;gap:8px;overflow-x:auto;max-width:100%;padding:4px 2px 9px;scrollbar-width:thin;overscroll-behavior-x:contain}
.catalog-filter-line .stock-switch{flex:0 0 auto;white-space:nowrap}
.stock-switch-track{flex-shrink:0}
.cart-label-short{display:none}.cart-label-short:before{content:attr(data-label)}
.hero{display:grid;min-height:0;background:#234a35;isolation:isolate}
.hero-photo{grid-area:1/1;position:static;inset:auto;display:block;width:100%;height:auto;object-fit:contain;background:none;transform:none;align-self:center}
.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0c2a1bea,#0e2d1dc7 44%,transparent);z-index:0;pointer-events:none}
.hero-inner{grid-area:1/1;align-self:center;padding:45px 55px}
.hero-stamp{background:#183d2c99}
.cart-clear{align-self:flex-start;margin-top:12px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:22px;background:transparent;color:var(--moss);font-size:12px}
.cart-clear:disabled{opacity:.45;cursor:default}
.cart-clear-confirm{flex-shrink:0;padding:14px;margin-top:10px;border:1px solid #b9cbb3;border-radius:14px;background:#eaf0e3}
.cart-clear-confirm p{margin:0 0 10px;font-weight:700;font-size:14px}
.cart-clear-confirm>div{display:flex;gap:10px}
.cart-clear-confirm button{min-height:44px;padding:8px 16px;border:1px solid #b9cbb3;border-radius:22px;background:var(--cream);color:var(--pine)}
#confirmClearCart{background:var(--pine);color:white}
.toast{min-height:44px;padding:2px 10px;gap:8px;border-radius:14px;font-size:12px;line-height:1.35}
.toast button{min-height:44px;padding:6px 10px;font-size:12px}
.toast span{min-width:0}

.toast.in-cart{margin:8px 0}
@media(max-width:767px){
 .shell{padding-left:12px;padding-right:12px}
 .nav,.header-contact{display:none}
 .basket-btn{margin-left:auto}
 .products,.related-section .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .product{min-width:0;border-radius:12px}
 .product .image-box{height:auto;aspect-ratio:1.15}
 .product .product-info{padding:10px 8px;gap:0;min-width:0}
 .product h3{font-size:13px;line-height:1.35;height:2.7em;margin:6px 0 8px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:normal;word-break:normal}
 .product .species{font-size:9px;letter-spacing:.025em;line-height:1.5;overflow-wrap:normal}
 .product .card-size{display:none}
 .product .availability{font-size:10px;margin:0 0 8px}
 .product .bottom{gap:6px}
 .product .price{font-size:16px;white-space:nowrap}
 .product .price small{margin-bottom:2px}
 .product .tag{top:7px;left:6px;max-width:calc(100% - 12px);padding:5px 7px;font-size:9px}
 .product .add{min-height:40px;padding:8px 4px;font-size:12px;white-space:nowrap}
 .product .cart-label-full{display:none}
 .product .cart-label-short{display:inline}
 .catalog-filter-line{gap:8px}
 .tag-buttons .chip,.cat-row .chip{padding:10px 13px;font-size:11px}
 .catalog-filter-line .stock-switch{font-size:11px;gap:6px}
 .stock-switch-track{width:36px;height:22px}
 .stock-switch-track:before{width:16px;height:16px}
 .stock-switch input:checked+.stock-switch-track:before{transform:translateX(14px)}
 .hero{display:flex;flex-direction:column;align-items:stretch}
 .hero-photo{flex:none;width:100%;height:auto}
 .hero:after{display:none}
 .hero-inner{padding:26px 22px;align-self:stretch}
 .hero h1{font-size:clamp(34px,8vw,47px);margin-top:15px}
 .hero p{font-size:13px;line-height:1.7;margin-bottom:22px}
 .hero-stamp{position:static;align-self:flex-start;margin:0 22px 20px}
 .search{min-width:0}
 .toast{max-width:calc(100% - 16px);width:max-content;gap:6px;padding:2px 8px}
 .toast button{padding:6px 8px}
 .toast.in-cart{max-width:100%;width:100%}
 .drawer{max-height:100dvh;padding:16px}
 .cart-list{margin-top:12px;min-height:0}
 .cart-footer{padding-top:14px}
 .cart-item{font-size:12px}
}

/* Bounded, uncropped hero; compact filter rows and shared notification skin. */
.hero-photo{max-height:460px}
.hero-inner{padding:30px 44px}
.hero h1{font-size:clamp(38px,4.5vw,64px);margin:14px 0;line-height:1.08}
.hero p{font-size:14px;line-height:1.65;margin-bottom:20px}
.toast{background:#f4f8ef;color:var(--pine);border:1px solid #cedcc5;box-shadow:0 5px 22px #183d2c24;border-radius:13px;gap:8px;padding:3px 8px;bottom:calc(16px + env(safe-area-inset-bottom,0px));transition:opacity .18s ease,transform .18s ease,display .18s allow-discrete}
.toast-icon{width:18px;height:18px;flex:0 0 18px;display:block;color:#4e7652}
.toast-icon g{display:none}
.toast[data-cart-action="true"] .toast-symbol-add,.toast[data-undo-action="true"] .toast-symbol-remove,.toast[data-cart-action="false"][data-undo-action="false"] .toast-symbol-info{display:inline}
#toastMessage{flex:1;line-height:1.4;overflow-wrap:anywhere}
.toast button{background:#e5eedb;border:1px solid #c6d6bd;color:var(--pine);border-radius:9px;min-height:44px;padding:6px 10px;white-space:nowrap}
.toast button:hover:not(:disabled){background:#d8e8c9}

@starting-style{.toast.show{opacity:0}}
@media(max-width:767px){
 .hero-photo{width:100%;height:clamp(110px,32vw,150px);max-height:150px;object-fit:contain;object-position:center}
 .hero-inner{padding:18px 20px}
 .hero .eyebrow{font-size:9px;letter-spacing:.12em}
 .hero h1{font-size:clamp(28px,7.2vw,34px);line-height:1.12;margin:10px 0 12px}
 .hero h1 br{display:none}
 .hero p{font-size:12.5px;line-height:1.55;margin-bottom:14px}
 .hero .cta{min-height:44px;padding:12px 18px;font-size:12px}
 .hero-stamp{margin:0 20px 14px;padding:7px 10px;font-size:10px}
 .cat-row,.tag-buttons{overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;padding-top:4px;padding-bottom:4px}
 .cat-row::-webkit-scrollbar,.tag-buttons::-webkit-scrollbar{display:none;width:0;height:0}
 .cat-row{margin-bottom:8px}
 .catalog-filter-line{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:16px}
 .tag-filters{flex:none;width:100%}
 .catalog-filter-line .stock-switch{align-self:flex-start;min-height:36px;font-size:12px}
 .toast{gap:6px;padding:3px 8px;max-width:calc(100% - 16px)}
 .toast button{padding:6px 8px}
 .toast.in-cart{width:100%;max-width:100%}
}

/* Separate image and copy so the photo occupies its full desktop column. */
.hero{grid-template-columns:minmax(0,1fr) auto}
.hero-photo{grid-area:1/2;width:auto;max-width:min(55vw,650px);height:auto;max-height:520px;align-self:center;justify-self:end;object-fit:contain}
.hero-inner{grid-area:1/1;padding:28px 32px;min-width:0}
.hero:after{display:none}
.hero-stamp{right:18px;bottom:16px}
.add,.product-add{display:flex;align-items:center;justify-content:center;text-align:center}
.cart-label-full,.cart-label-short{text-align:center}
.max-button{margin-top:10px;min-height:48px;background:#e5eedb;color:var(--pine);border:1px solid #b9cbb3;font-size:13px}
.max-button:hover:not(:disabled){background:#d8e8c9}
@media(max-width:767px){
 .hero-photo{height:auto;max-height:220px;max-width:100%;width:100%;object-fit:contain}
 .hero-inner{padding:16px 20px}
 .hero-stamp{margin-bottom:12px}
}

/* Mobile hero: image and title share a row; copy and CTA follow below. */
@media(max-width:767px){
 .hero{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;align-items:stretch}
 .hero-photo{grid-area:1/1;display:block;width:100%;max-width:none;height:auto;max-height:none;align-self:stretch;justify-self:stretch;object-fit:contain}
 .hero-inner{display:contents}
 .hero .eyebrow,.hero-stamp{display:none}
 .hero:after{display:block;position:static;grid-area:1/1;z-index:0;background:linear-gradient(180deg,transparent 25%,rgba(8,30,19,.3) 55%,rgba(8,30,19,.88));pointer-events:none}
 .hero h1{grid-area:1/1;position:relative;z-index:1;align-self:end;margin:0;padding:28px 20px 18px;font-size:clamp(27px,7vw,34px);line-height:1.1;color:#fff;text-shadow:0 1px 4px #10291c66;overflow-wrap:normal}
 .hero p{grid-area:2/1;margin:0;padding:16px 20px 0;max-width:none}
 .hero .cta{grid-area:3/1;justify-self:start;align-self:start;margin:14px 20px 20px}
}
