 
 

 


 



 




/*




Theme Name: Ter Sarkisian




Theme URI: https://ter-sarkisian.com




Author: Ter Sarkisian




Description: Custom theme for ter-sarkisian.com — Design 5




Version: 1.0




License: GNU General Public License v2 or later




Text Domain: ter-sarkisian




*/









/* WordPress admin bar offset */




body.admin-bar .ticker-bar { top: 32px; }




body.admin-bar .site-header { top: calc(32px + 34px); }




body.admin-bar .ticker-bar.closed ~ #siteHeader,




body.admin-bar .site-header { }




@media screen and (max-width: 782px) {




  body.admin-bar .ticker-bar { top: 46px; }




  body.admin-bar .site-header { top: calc(46px + 34px); }




}









*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }




html { font-size: 16px; scroll-behavior: smooth; }




body { font-family: 'Inter', sans-serif; background: #fff; color: #111; overflow-x: hidden; }




a { text-decoration: none; color: inherit; }




img { display: block; width: 100%; }




button { cursor: pointer; font-family: inherit; }









/* ══════════════════════




   TICKER




══════════════════════ */




.ticker-bar {




  position: fixed; top: 0; left: 0; right: 0; z-index: 300;




  height: 34px; background: #111; overflow: hidden;




  display: flex; align-items: center;




  transition: height .3s ease, opacity .3s ease;




}




.ticker-bar.closed { height: 0; opacity: 0; pointer-events: none; }




.ticker-track { display: flex; white-space: nowrap; animation: ticker-scroll 38s linear infinite; }




.ticker-bar:hover .ticker-track { animation-play-state: paused; }




@keyframes ticker-scroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }




.ticker-item {




  display: inline-flex; align-items: center;




  font-size: 10px; letter-spacing: .15em; text-transform: uppercase;




  color: #fff; padding: 0; flex-shrink: 0;




}




.ticker-phrase { padding: 0 72px; white-space: nowrap; }




.ticker-dot { display: inline-block; width: 3px; height: 3px; border-radius: 50%; background: rgba(255,255,255,.35); }




.ticker-close {




  position: absolute; right: 14px; top: 50%; transform: translateY(-50%);




  background: none; border: none; color: rgba(255,255,255,.4);




  font-size: 12px; cursor: pointer; padding: 4px; transition: color .2s;




}




.ticker-close:hover { color: #fff; }









/* ══════════════════════




   HEADER




══════════════════════ */




.site-header {




  position: fixed; top: 34px; left: 0; right: 0; z-index: 200;




  height: 66px; display: flex; align-items: center; padding: 0 44px;




  background: transparent;




  border-bottom: 1px solid transparent;




  transition: top .3s ease, background .45s ease, border-color .45s ease;




}




.site-header.solid {




  background: rgba(255,255,255,.55);




  backdrop-filter: blur(24px) saturate(200%);




  -webkit-backdrop-filter: blur(24px) saturate(200%);




  border-bottom-color: rgba(0,0,0,.07);




}




.site-header.hdr-hidden { transform: translateY(-100%); }









.header-inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; width: 100%; }




.h-nav { display: flex; align-items: center; list-style: none; gap: 32px; }




.h-nav-right { justify-content: flex-end; gap: 20px; }




.h-nav a {




  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;




  color: #fff; transition: color .4s, opacity .2s;




}




.site-header.solid .h-nav a { color: #111; }




.h-nav a:hover { opacity: .5; }









/* ── Katalog compact dropdown ── */




.nav-katalog { position: relative; }




.nav-katalog > a { display: flex; align-items: center; gap: 4px; }




.nav-katalog-arr { font-size: 7px; opacity: .55; transition: transform .25s; }




.nav-katalog.open .nav-katalog-arr { transform: rotate(180deg); }




.nav-katalog-drop {




  position: fixed; top: 108px; left: 0; right: 0;




  transform: translateY(-8px);




  padding: 44px 60px 52px;




  background: rgba(245,244,241,.88); backdrop-filter: blur(20px) saturate(160%);




  -webkit-backdrop-filter: blur(20px) saturate(160%);




  border-top: 1px solid rgba(0,0,0,.06);




  box-shadow: 0 24px 64px rgba(0,0,0,.08);




  display: grid; grid-template-columns: 1fr 320px;




  gap: 0; z-index: 590;




  opacity: 0; pointer-events: none;




  transition: opacity .25s ease, transform .25s ease;




}




.nav-katalog.open .nav-katalog-drop { opacity: 1; pointer-events: all; transform: translateY(0); }
/* Pure-CSS hover fallback (works even if JS fails) */
.nav-katalog:hover .nav-katalog-drop { opacity: 1; pointer-events: all; transform: translateY(0); }









/* 3 columns */




.mega-cols-wrap { display: grid; grid-template-columns: 1fr 1fr 1fr; }




.mega-col { display: flex; flex-direction: column; gap: 2px; }




.mega-col + .mega-col { border-left: 1px solid rgba(0,0,0,.08); padding-left: 48px; }









/* ALL CATALOG — subtle inline link, slightly separated */




.mega-all-link {




  margin-top: 20px;




  padding-top: 16px;




  border-top: 1px solid rgba(0,0,0,.1);




  font-size: 11px;




  letter-spacing: .14em;




  font-weight: 600;




  color: #111 !important;




  opacity: 1 !important;




  display: flex;




  align-items: center;




  gap: 6px;




}




.mega-all-link:hover { letter-spacing: .18em !important; opacity: 1 !important; }




.mega-all-arr { font-size: 12px; transition: transform .18s; }




.mega-all-link:hover .mega-all-arr { transform: translateX(3px); }




.nav-katalog-drop .mega-link {




  display: block; padding: 8px 0;




  font-size: 10px; letter-spacing: .18em; text-transform: uppercase;




  color: #111 !important; opacity: 1;




  transition: letter-spacing .15s, opacity .15s;




}




.nav-katalog-drop .mega-link:hover { letter-spacing: .24em; opacity: .5 !important; }




.mega-img-wrap { padding-left: 48px; display: flex; flex-direction: column; justify-content: center; }




.mega-img-wrap img { width: 100%; max-width: 220px; aspect-ratio: 3/4; object-fit: cover; object-position: center top; }




.mega-label {




  display: block; margin-top: 10px;




  font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: #999;




}









.h-logo { text-align: center; }




.h-logo img { height: 38px; width: auto; display: inline-block; filter: invert(1) brightness(2); transition: filter .45s; }




.site-header.solid .h-logo img { filter: none; }









.h-icon { background: none; border: none; padding: 0; display: flex; align-items: center; justify-content: center; }




.h-icon svg { width: 19px; height: 19px; stroke: #fff; fill: none; stroke-width: 1.4; transition: stroke .4s; }




.site-header.solid .h-icon svg { stroke: #111; }









/* ── Header cart icon ── */




.h-cart-wrap { position: relative; }




.h-cart-wrap .h-icon { width: 19px; height: 19px; position: relative; }




.cart-icon-svg { width: 19px; height: 19px; }




.cart-dot {




  position: absolute; top: -6px; right: -8px;




  width: 15px; height: 15px; background: #111; border-radius: 50%;




  font-size: 8px; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 600;




  pointer-events: none;




}




.site-header.solid .cart-dot { background: #111; }









/* ── Lang toggle ── */




.lang-btn {




  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;




  color: #fff; background: none; border: none;




  display: flex; align-items: center; gap: 3px;




  transition: color .4s, opacity .2s;




}




.lang-btn:hover { opacity: .5; }




.site-header.solid .lang-btn { color: #111; }




.lang-arr { font-size: 7px; opacity: .55; transition: transform .2s; }




.lang-wrap { position: relative; }




.lang-wrap.open .lang-arr { transform: rotate(180deg); }




.lang-dropdown {




  position: absolute; top: calc(100% + 10px); right: 0;




  background: transparent; min-width: 48px;




  padding: 4px 0; z-index: 500;




  opacity: 0; pointer-events: none;




  transform: translateY(-6px);




  transition: opacity .2s ease, transform .2s ease;




  display: flex; flex-direction: column; align-items: flex-end; gap: 2px;




}




.lang-wrap.open .lang-dropdown { opacity: 1; pointer-events: all; transform: translateY(0); }




.lang-option {




  padding: 5px 0; text-align: right;




  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;




  color: #fff; background: none; border: none; cursor: pointer;




  transition: opacity .15s; opacity: .55;




}




.site-header.solid .lang-option { color: #111; }




.lang-option:hover { opacity: 1; }




.lang-option.active { opacity: 1; font-weight: 600; }









/* ══════════════════════




   HERO SLIDER




══════════════════════ */




.hero-slider {




  position: relative; height: 100vh; overflow: hidden;




  margin-top: 0;




}




.slide { position: absolute; inset: 0; opacity: 0; transition: opacity .85s ease; }




.slide.active { opacity: 1; }




.slide img { width: 100%; height: 100%; object-fit: cover; }




.slide-overlay {




  position: absolute; inset: 0;




  background: linear-gradient(to bottom, rgba(0,0,0,.06) 0%, rgba(0,0,0,.48) 100%);




}




.slide-content { position: absolute; bottom: 130px; left: 60px; color: #fff; text-align: left; }




.slide-kicker {




  font-size: 10px; letter-spacing: .28em; text-transform: uppercase;




  color: rgba(255,255,255,.6); margin-bottom: 18px;




}




.slide-title {




  font-family: 'Cormorant Garamond', serif;




  font-size: clamp(46px, 6.5vw, 96px); font-weight: 300; line-height: .95;




}




.slide-title em { font-style: italic; }




.slide-cta {




  display: inline-flex; align-items: center; gap: 10px;




  margin-top: 32px; font-size: 10px; letter-spacing: .22em; text-transform: uppercase;




  color: #fff; border-bottom: 1px solid rgba(255,255,255,.45); padding-bottom: 5px;




  transition: border-color .25s, gap .3s;




}




.slide-cta:hover { border-color: #fff; gap: 16px; }




.slider-bars { position: absolute; bottom: 50px; left: 60px; display: flex; gap: 10px; z-index: 10; }




.slider-bar { width: 72px; height: 2px; background: rgba(255,255,255,.28); cursor: pointer; position: relative; overflow: hidden; }




.slider-bar-fill { position: absolute; top: 0; left: 0; height: 100%; background: #fff; width: 0; }




.slider-bar.active .slider-bar-fill { width: 100%; }









/* ══════════════════════




   CATEGORY STRIP




══════════════════════ */




.cat-strip { padding: 56px 44px; border-top: 1px solid #efefef; border-bottom: 1px solid #efefef; }




.cat-strip-head {




  font-size: 9px; letter-spacing: .24em; text-transform: uppercase;




  color: #bbb; text-align: center; margin-bottom: 36px;




}




.cat-icons { display: grid; grid-template-columns: repeat(6, 1fr); }




.cat-icon-item {




  display: flex; flex-direction: column; align-items: center; gap: 13px;




  padding: 18px 10px; border-right: 1px solid #efefef;




  cursor: pointer; transition: background .2s;




  text-decoration: none; color: #111;




}




.cat-icon-item:last-child { border-right: none; }




.cat-icon-item:hover { background: #fafafa; }




.cat-icon-item svg { width: 36px; height: 36px; stroke: #111; fill: none; stroke-width: 1.2; transition: stroke .2s; }




.cat-icon-item:hover svg { stroke: #255311; }




.cat-icon-label { font-size: 9px; letter-spacing: .18em; text-transform: uppercase; transition: color .2s; }




.cat-icon-item:hover .cat-icon-label { color: #255311; }









/* ══════════════════════




   SECTION HEADER




══════════════════════ */




.sec-hd {




  display: flex; align-items: baseline; justify-content: space-between;




  padding: 52px 44px 36px;




}




.sec-hd-title {




  font-family: 'Cormorant Garamond', serif;




  font-size: clamp(30px, 4vw, 54px); font-weight: 300; letter-spacing: .01em;




}




.sec-hd-link {




  font-size: 10px; letter-spacing: .2em; text-transform: uppercase;




  border-bottom: 1px solid rgba(0,0,0,.25); padding-bottom: 3px;




  transition: border-color .2s, color .2s;




}




.sec-hd-link:hover { border-color: #255311; color: #255311; }









/* ══════════════════════




   PRODUCT GRID




══════════════════════ */




.prod-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; padding: 0 44px 12px; }




.prod-card { position: relative; cursor: pointer; }




.prod-img-wrap {




  position: relative; overflow: hidden; aspect-ratio: 2/3;




}




.prod-img-wrap img {




  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;




  transition: opacity .55s ease, transform .7s ease;




}




.prod-img-wrap .img-hover { opacity: 0; }




.prod-card:hover .img-main { opacity: 0; transform: scale(1.03); }




.prod-card:hover .img-hover { opacity: 1; transform: scale(1.03); }




.prod-badges { position: absolute; top: 12px; left: 12px; display: flex; flex-direction: column; gap: 5px; }




.badge {




  display: inline-block; font-size: 8px; letter-spacing: .14em; text-transform: uppercase;




  padding: 4px 9px; font-weight: 500;




}




.badge-new { background: #111; color: #fff; }




.badge-sale { background: #255311; color: #fff; }




.prod-wish {




  position: absolute; top: 12px; right: 12px;




  background: rgba(255,255,255,.85); border: none; width: 34px; height: 34px;




  border-radius: 50%; display: flex; align-items: center; justify-content: center;




  opacity: 0; transform: translateY(-4px);




  transition: opacity .3s, transform .3s;




}




.prod-wish svg { width: 15px; height: 15px; stroke: #111; fill: none; stroke-width: 1.5; }




.prod-card:hover .prod-wish { opacity: 1; transform: translateY(0); }




.prod-wish:hover svg { fill: #111; }




.quick-add {




  position: absolute; bottom: 0; left: 0; right: 0;




  background: rgba(255,255,255,.97); backdrop-filter: blur(4px);




  padding: 12px 14px 14px;




  transform: translateY(100%);




  transition: transform .32s cubic-bezier(.22,1,.36,1);




}




.prod-card:hover .quick-add { transform: translateY(0); }




.size-row { display: flex; gap: 5px; justify-content: center; margin-bottom: 9px; }




.size-btn {




  width: 32px; height: 32px; border: 1px solid #ddd; background: #fff;




  font-size: 10px; color: #111;




  display: flex; align-items: center; justify-content: center;




  transition: background .15s, border-color .15s, color .15s;




}




.size-btn:hover, .size-btn.sel { background: #111; color: #fff; border-color: #111; }




.add-btn {




  width: 100%; padding: 11px;




  background: #111; color: #fff; border: none;




  font-size: 9px; letter-spacing: .18em; text-transform: uppercase;




  position: relative; overflow: hidden;




  transition: color .4s;




}




.add-btn::before {




  content: ''; position: absolute; inset: 0;




  background: #255311; transform: translateX(-101%);




  transition: transform .4s cubic-bezier(.16,1,.3,1);




}




.add-btn:hover::before { transform: translateX(0); }




.add-btn span { position: relative; z-index: 1; }




.prod-info { padding: 14px 0 0; }




.prod-name { font-size: 12px; letter-spacing: .02em; margin-bottom: 6px; }




.prod-price { font-size: 12px; color: #555; display: flex; gap: 8px; align-items: baseline; }




.price-old { text-decoration: line-through; color: #bbb; }




.price-sale { color: #255311; font-weight: 500; }









/* ══════════════════════




   COLLECTIONS (sticky scroll)




══════════════════════ */




.coll-section { position: relative; height: 238vh; }









.coll-sticky {




  position: sticky; top: 100px; height: calc(100vh - 100px);




  display: flex; flex-direction: column;




  align-items: center; justify-content: flex-start;




  padding-top: 8vh;




  z-index: 3; pointer-events: none;




}









.coll-photos {




  position: absolute; top: 0; left: 0; right: 0;




  height: 147vh;




  display: grid; grid-template-columns: 1fr 1fr; gap: 3px;




  z-index: 2;




}




.coll-photo { overflow: hidden; height: 100%; }




.coll-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }









.coll-bg-title {




  font-family: 'Inter', sans-serif;




  font-size: clamp(22px, 3.8vw, 60px);




  font-weight: 300; letter-spacing: .18em;




  text-transform: uppercase; color: #fff;




  text-align: center;




  width: 90vw; overflow: hidden;




  text-shadow: 0 2px 24px rgba(0,0,0,.22);




}




.coll-bg-title em { font-style: normal; font-family: 'Inter', sans-serif; }









.coll-shop-link {




  margin-top: 20px;




  font-size: 10px; letter-spacing: .22em; text-transform: uppercase;




  color: #fff; border-bottom: 1px solid rgba(255,255,255,.55); padding-bottom: 4px;




  pointer-events: all; transition: border-color .2s;




}




.coll-shop-link:hover { border-color: #fff; }









.coll-divider { height: 108px; background: #fff; }




.coll-section + .coll-divider               { margin-top: -91vh; position: relative; z-index: 2; }




.coll-section + .coll-divider + .coll-section { position: relative; z-index: 3; }




.coll-section + .coll-divider + .coll-section + .sec-hd { margin-top: -91vh; position: relative; z-index: 4; }




#bestsellersGrid { position: relative; z-index: 4; }









/* ══════════════════════




   BRAND HISTORY




══════════════════════ */




.editorial {




  display: grid; grid-template-columns: 1fr 1fr;




  margin-top: 90px;




}




.editorial-img { overflow: hidden; min-height: 560px; }




.editorial-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }




.editorial:hover .editorial-img img { transform: scale(1.03); }




.editorial-content {




  background: #f5f2ee;




  display: flex; flex-direction: column; justify-content: center;




  padding: 80px 72px;




}




.editorial-kicker { font-size: 9px; letter-spacing: .26em; text-transform: uppercase; color: #aaa; margin-bottom: 22px; }




.editorial-title {




  font-family: 'Cormorant Garamond', serif;




  font-size: clamp(30px, 3.8vw, 54px); font-weight: 300; line-height: 1.1; margin-bottom: 24px;




}




.editorial-title em { font-style: italic; }




.editorial-body { font-size: 14px; line-height: 1.8; color: #666; max-width: 380px; margin-bottom: 36px; }




.btn-outline {




  display: inline-flex; align-items: center; gap: 10px;




  border: 1px solid rgba(0,0,0,.28); color: #111;




  font-size: 10px; letter-spacing: .2em; text-transform: uppercase;




  padding: 14px 28px; width: fit-content;




  position: relative; overflow: hidden;




  transition: color .4s, border-color .4s;




}




.btn-outline::before {




  content: ''; position: absolute; inset: 0;




  background: #255311; transform: translateX(-101%);




  transition: transform .4s cubic-bezier(.16,1,.3,1);




}




.btn-outline:hover { color: #fff; border-color: #255311; }




.btn-outline:hover::before { transform: translateX(0); }




.btn-outline span { position: relative; z-index: 1; }









/* ══════════════════════




   REVIEWS




══════════════════════ */




.reviews-section { padding: 90px 44px; background: #f7f5f2; }




.reviews-hd {




  display: flex; justify-content: space-between; align-items: baseline;




  margin-bottom: 52px;




}




.reviews-hd-title {




  font-family: 'Cormorant Garamond', serif;




  font-size: clamp(28px, 3.5vw, 48px); font-weight: 300;




}




.reviews-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }




.review-card { background: #fff; padding: 36px 30px; }




.review-stars { display: flex; gap: 3px; margin-bottom: 18px; }




.review-stars span { color: #111; font-size: 13px; }




.review-text {




  font-family: 'Cormorant Garamond', serif;




  font-size: 18px; font-weight: 300; line-height: 1.65;




  color: #333; margin-bottom: 20px; font-style: italic;




}




.review-author { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: #aaa; }









/* ══════════════════════




   INSTAGRAM




══════════════════════ */




.instagram-section { padding: 90px 0 0; }




.instagram-head {




  padding: 0 44px 40px;




  display: flex; justify-content: space-between; align-items: center;




}




.ig-handle { display: flex; align-items: center; gap: 16px; }




.ig-avatar {




  width: 48px; height: 48px; border-radius: 50%; overflow: hidden;




  padding: 2px; flex-shrink: 0;




  background: linear-gradient(135deg,#f9ce34,#ee2a7b,#6228d7);




}




.ig-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }




.ig-handle-name { font-size: 14px; font-weight: 500; margin-bottom: 2px; }




.ig-handle-sub { font-size: 11px; color: #aaa; letter-spacing: .04em; }




.ig-follow-btn {




  display: inline-flex; align-items: center; gap: 9px;




  border: 1px solid rgba(0,0,0,.2); color: #111;




  font-size: 10px; letter-spacing: .18em; text-transform: uppercase;




  padding: 13px 24px;




  position: relative; overflow: hidden;




  transition: color .4s, border-color .4s;




}




.ig-follow-btn::before {




  content: ''; position: absolute; inset: 0;




  background: #255311; transform: translateX(-101%);




  transition: transform .4s cubic-bezier(.16,1,.3,1);




}




.ig-follow-btn:hover { color: #fff; border-color: #255311; }




.ig-follow-btn:hover::before { transform: translateX(0); }




.ig-follow-btn svg, .ig-follow-btn span { position: relative; z-index: 1; }




.ig-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 3px; }




.ig-item {




  position: relative; aspect-ratio: 1; overflow: hidden; cursor: pointer;




}




.ig-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s ease; }




.ig-item:hover img { transform: scale(1.07); }




.ig-overlay {




  position: absolute; inset: 0;




  background: rgba(0,0,0,.38);




  opacity: 0; display: flex; align-items: center; justify-content: center;




  transition: opacity .3s;




}




.ig-item:hover .ig-overlay { opacity: 1; }




.ig-overlay svg { width: 30px; height: 30px; stroke: #fff; fill: none; stroke-width: 1.5; }









/* ══════════════════════




   NEWSLETTER




══════════════════════ */




.newsletter {




  background: #0a0a0a; color: #fff;




  padding: 100px 44px; text-align: center;




}




.nl-kicker { font-size: 9px; letter-spacing: .28em; text-transform: uppercase; color: #555; margin-bottom: 16px; }




.nl-title {




  font-family: 'Cormorant Garamond', serif;




  font-size: clamp(34px, 5vw, 66px); font-weight: 300; margin-bottom: 14px; line-height: 1.05;




}




.nl-title em { font-style: italic; }




.nl-sub { font-size: 13px; color: #666; margin-bottom: 44px; }




.nl-form { display: flex; max-width: 460px; margin: 0 auto; border-bottom: 1px solid rgba(255,255,255,.2); }




.nl-input {




  flex: 1; background: none; border: none; outline: none;




  font-size: 13px; color: #fff; padding: 13px 0; font-family: inherit; letter-spacing: .03em;




}




.nl-input::placeholder { color: rgba(255,255,255,.25); }




.nl-btn {




  background: none; border: none; color: rgba(255,255,255,.4);




  font-size: 9px; letter-spacing: .22em; text-transform: uppercase;




  padding: 13px 0 13px 18px; transition: color .2s;




}




.nl-btn:hover { color: #fff; }









/* ══════════════════════




   FOOTER




══════════════════════ */




.site-footer { background: #111; color: #fff; padding: 72px 44px 40px; }




.footer-grid { display: grid; grid-template-columns: 1.8fr 1fr 1fr 1fr; gap: 52px; margin-bottom: 64px; }




.footer-brand img { height: 28px; width: auto; filter: invert(1) brightness(2); margin-bottom: 20px; }




.footer-brand p { font-size: 13px; color: #777; line-height: 1.8; max-width: 260px; margin-bottom: 24px; }




.footer-social { display: flex; gap: 18px; }




.footer-social a { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: #666; border-bottom: 1px solid #333; padding-bottom: 2px; transition: color .2s, border-color .2s; }




.footer-social a:hover { color: #fff; border-color: #fff; }




.footer-col h4 { font-size: 9px; letter-spacing: .24em; text-transform: uppercase; color: #555; margin-bottom: 22px; }




.footer-col ul { list-style: none; }




.footer-col ul li { margin-bottom: 11px; }




.footer-col ul li a { font-size: 13px; color: #888; transition: color .2s; }




.footer-col ul li a:hover { color: #fff; }




.footer-bottom { border-top: 1px solid #1e1e1e; padding-top: 28px; display: flex; justify-content: space-between; font-size: 11px; color: #444; letter-spacing: .04em; }




.footer-legal { display: flex; gap: 24px; }




.footer-legal a { color: #444; transition: color .2s; }




.footer-legal a:hover { color: #888; }









/* ══════════════════════




   ANIMATIONS




══════════════════════ */




.fade-up {




  opacity: 0; transform: translateY(40px);




  transition: opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1);




}




.fade-up.visible { opacity: 1; transform: translateY(0); }




.fade-up.d1 { transition-delay: .1s; }




.fade-up.d2 { transition-delay: .2s; }




.fade-up.d3 { transition-delay: .3s; }




.fade-up.d4 { transition-delay: .4s; }









/* ══════════════════════




   RESPONSIVE




══════════════════════ */




@media (max-width: 1024px) {




  .prod-grid { grid-template-columns: repeat(2,1fr); }




}




@media (max-width: 768px) {




  .site-header { padding: 0 20px; }




  .h-nav:not(.h-nav-right) { display: none; }




  /* On mobile: logo left, icons right (no left-nav → switch to flex 2-column) */




  .header-inner {




    display: flex;




    justify-content: space-between;




    align-items: center;




  }




  .h-logo { text-align: left; }




  .h-nav-right { gap: 14px; }




  .prod-grid { grid-template-columns: repeat(2,1fr); padding: 0 20px; }




  .cat-icons { grid-template-columns: repeat(3,1fr); }




  .editorial { grid-template-columns: 1fr; }




  .reviews-grid { grid-template-columns: 1fr; }




  .ig-grid { grid-template-columns: repeat(3,1fr); }




  .footer-grid { grid-template-columns: 1fr 1fr; }




  .coll-bg-title { font-size: clamp(16px, 4vw, 36px); letter-spacing: .12em; }




}









/* ══════════════════════




   SINGLE PRODUCT PAGE




══════════════════════ */




.sp-page { padding-top: 100px; }









/* Layout */




.sp-wrap {




  display: grid;




  grid-template-columns: 55% 45%;




  gap: 0;




  align-items: start;




}









/* Left: stacked images */




.sp-images {




  display: flex;




  flex-direction: column;




  gap: 3px;




}




.sp-images img {




  width: 100%;




  aspect-ratio: 4/5;




  object-fit: cover;




  object-position: center top;




  background: #f2f2f0;




  display: block;




}









/* Right: sticky info panel */




.sp-info {




  position: sticky;




  top: 100px;




  height: calc(100vh - 100px);




  overflow-y: auto;




  padding: 40px 48px 40px 40px;




  display: flex;




  flex-direction: column;




  scrollbar-width: none;




  border-left: 1px solid #e8e8e8;




}




.sp-info::-webkit-scrollbar { display: none; }









/* Breadcrumb */




.sp-breadcrumb {




  display: flex;




  gap: 6px;




  align-items: center;




  font-size: 12px;




  color: #999;




  margin-bottom: 32px;




  flex-wrap: wrap;




  letter-spacing: 0;




  text-transform: none;




}




.sp-breadcrumb a { color: #999; text-decoration: none; transition: color .15s; }




.sp-breadcrumb a:hover { color: #111; }




.sp-bc-sep { font-size: 10px; opacity: .5; }




.sp-bc-current { color: #111; }









/* Title */




.sp-title {




  font-family: 'Cormorant Garamond', serif;




  font-size: clamp(28px, 3vw, 44px);




  font-weight: 300;




  letter-spacing: -.01em;




  line-height: 1.15;




  margin: 0 0 14px;




}









/* Price */




.sp-price { font-size: 15px; color: #111; margin-bottom: 28px; display: flex; gap: 12px; align-items: baseline; }




.sp-price del { color: #bbb; text-decoration: line-through; font-size: 14px; font-weight: 400; }




.sp-price ins { text-decoration: none; color: #111; }









/* WooCommerce cart form overrides */









/* Variations table — block layout, hide original select */




.sp-cart-form .variations { display: block; width: 100%; border: none; margin-bottom: 20px; }




.sp-cart-form .variations tbody { display: block; }




.sp-cart-form .variations tr { display: block; }




.sp-cart-form .variations td.label { display: none; }




.sp-cart-form .variations td.value { display: block; width: 100%; padding: 0; border: none; }




.sp-cart-form .variations td.value select { display: none !important; }




.sp-cart-form .reset_variations { display: none !important; }




.sp-cart-form .woocommerce-variation-description { display: none; }









/* Variation label (injected by JS) */




.sp-var-label { font-size: 12px; color: #999; margin-bottom: 10px; letter-spacing: .04em; }









/* Custom size buttons */




.wc-size-btns { display: flex; flex-wrap: wrap; gap: 6px; }




.wc-size-btn {




  min-width: 48px; height: 36px; padding: 0 12px;




  border: 1px solid #e0e0e0; background: #fff;




  font-size: 12px; font-family: inherit; color: #111;




  cursor: pointer; letter-spacing: .04em;




  transition: border-color .15s, background .15s, color .15s;




}




.wc-size-btn:hover { border-color: #111; }




.wc-size-btn.selected { background: #111; color: #fff; border-color: #111; }









/* Shake animation for size error */




@keyframes sp-shake {




  0%, 100% { transform: translateX(0); }




  20% { transform: translateX(-6px); }




  40% { transform: translateX(5px); }




  60% { transform: translateX(-4px); }




  80% { transform: translateX(3px); }




}




.wc-size-btns.shake { animation: sp-shake .42s ease; }









/* Cart row: qty + button */




.sp-cart-form form.cart { display: block; margin: 0 0 8px; }




.sp-cart-form .woocommerce-variation-add-to-cart {




  display: flex !important; gap: 8px; align-items: stretch; margin-top: 0;




}




/* Simple product — form is directly the row */




.sp-cart-form form.cart:not(.variations_form) { display: flex; gap: 8px; align-items: stretch; margin: 0 0 8px; }




.sp-cart-form .single_variation_wrap { display: block !important; }









.sp-cart-form .quantity { display: flex; align-items: center; flex: 0 0 auto; }




.sp-cart-form input.qty {




  width: 56px; height: 48px;




  border: 1px solid #e0e0e0; border-right: none;




  text-align: center; font-size: 15px; font-family: inherit;




  -moz-appearance: textfield; background: #fff; outline: none;




}




.sp-cart-form input.qty::-webkit-inner-spin-button { display: none; }









.sp-cart-form button.single_add_to_cart_button {




  flex: 1; height: 48px;




  background: #111; color: #fff;




  border: none; cursor: pointer;




  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;




  transition: background .2s; font-family: inherit;




}




.sp-cart-form button.single_add_to_cart_button:hover { background: #333; }









/* Inline size error message */




.sp-size-error {




  font-size: 12px; color: #c0392b;




  margin-top: 8px; opacity: 0;




  transition: opacity .2s; letter-spacing: .02em;




}









/* Accordion */




.sp-accordion { border-top: 1px solid #e8e8e8; }




.sp-acc-item { border-bottom: 1px solid #e8e8e8; }




.sp-acc-head {




  display: flex;




  justify-content: space-between;




  align-items: center;




  padding: 14px 0;




  cursor: pointer;




  font-size: 13px;




  color: #111;




  letter-spacing: .01em;




  transition: opacity .15s;




  user-select: none;




}




.sp-acc-head:hover { opacity: .5; }




.sp-acc-icon { font-size: 16px; font-weight: 300; color: #999; transition: transform .2s; flex-shrink: 0; }




.sp-acc-item.open .sp-acc-icon { transform: rotate(45deg); }




.sp-acc-body { max-height: 0; overflow: hidden; transition: max-height .28s ease; }




.sp-acc-item.open .sp-acc-body { max-height: 400px; }




.sp-acc-body-inner { padding: 0 0 16px; font-size: 13px; line-height: 1.8; color: #777; }




.sp-acc-body-inner p { margin-bottom: 6px; }




.sp-acc-body-inner ul { list-style: none; }




.sp-acc-body-inner ul li { padding: 2px 0; }




.sp-acc-body-inner ul li::before { content: '—'; margin-right: 8px; opacity: .35; }









/* Stylizuj z */




.sp-style-with { margin-top: 32px; }




.sp-style-with-label { font-size: 12px; color: #999; margin-bottom: 14px; letter-spacing: .04em; }




.sp-style-grid { display: flex; gap: 8px; }




.sp-style-card { flex: 1; text-decoration: none; color: inherit; }




.sp-style-card img { width: 100%; aspect-ratio: 1; object-fit: cover; background: #f2f2f0; transition: opacity .2s; display: block; }




.sp-style-card:hover img { opacity: .75; }




.sp-style-card-name { font-size: 11px; color: #777; margin-top: 6px; letter-spacing: .02em; }









/* Related products */




.sp-related { padding: 80px 40px; border-top: 1px solid #e8e8e8; }




.sp-related-label { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: #999; margin-bottom: 32px; }




.sp-related-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; }




.sp-rel-card { text-decoration: none; color: #111; display: block; }




.sp-rel-img { aspect-ratio: 3/4; overflow: hidden; background: #f2f2f0; margin-bottom: 12px; }




.sp-rel-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }




.sp-rel-card:hover .sp-rel-img img { transform: scale(1.04); }




.sp-rel-name { display: block; font-size: 13px; color: #111; margin-bottom: 4px; }




.sp-rel-price { display: block; font-size: 13px; color: #777; }




.sp-rel-price del { color: #bbb; }




.sp-rel-price ins { text-decoration: none; }









/* Responsive single product */




@media (max-width: 1100px) {




  .sp-info { padding: 32px 32px 40px; }




}




@media (max-width: 768px) {




  .sp-wrap { grid-template-columns: 1fr; }




  .sp-info { position: relative; top: 0; height: auto; border-left: none; border-top: 1px solid #e8e8e8; padding: 32px 20px 48px; }




  .sp-related-grid { grid-template-columns: repeat(2, 1fr); }




  .sp-related { padding: 60px 20px; }




}









/* ══════════════════════




   ARCHIVE / CATALOG PAGE




══════════════════════ */




.arch-page { padding: 120px 44px 100px; max-width: 1600px; margin: 0 auto; }









.arch-header { margin-bottom: 40px; }




.arch-breadcrumb { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #999; margin-bottom: 16px; }




.arch-breadcrumb a { color: #999; text-decoration: none; }




.arch-breadcrumb a:hover { color: #111; }




.arch-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(32px,4vw,56px); font-weight: 400; letter-spacing: -.01em; margin: 0 0 8px; }




.arch-count { font-size: 12px; color: #999; letter-spacing: .06em; text-transform: uppercase; margin: 0; }









/* Toolbar */




.arch-toolbar { display: flex; justify-content: space-between; align-items: center; padding: 16px 0; border-top: 1px solid #e8e8e8; border-bottom: 1px solid #e8e8e8; margin-bottom: 40px; }




.arch-sort-select { border: none; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; background: transparent; outline: none; }




.arch-view-count { font-size: 12px; color: #999; letter-spacing: .04em; }




.arch-view-count .woocommerce-result-count { margin: 0; font-size: 12px; color: #999; }









/* Grid */




.arch-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px 24px; }









/* Card */




.arch-card { text-decoration: none; color: #111; display: block; position: relative; }




.arch-card-img { aspect-ratio: 3/4; overflow: hidden; background: #f5f5f3; margin-bottom: 14px; }




.arch-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }




.arch-card:hover .arch-card-img img { transform: scale(1.04); }




.arch-card-info { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }




.arch-card-name { font-size: 13px; letter-spacing: .01em; line-height: 1.4; flex: 1; }




.arch-card-price { font-size: 13px; font-weight: 500; white-space: nowrap; }




.arch-card-price del { color: #aaa; margin-right: 6px; font-weight: 400; }




.arch-card-price ins { text-decoration: none; }









/* Badge */




.arch-badge { position: absolute; top: 12px; left: 12px; z-index: 2; font-size: 10px; letter-spacing: .1em; font-weight: 600; padding: 4px 8px; }




.arch-badge.sale { background: #111; color: #fff; }




.arch-badge.new  { background: #fff; color: #111; border: 1px solid #111; }









/* Pagination */




.arch-pagination { margin-top: 60px; display: flex; justify-content: center; }




.arch-pagination .woocommerce-pagination ul { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; }




.arch-pagination .woocommerce-pagination ul li { display: flex; }




.arch-pagination .woocommerce-pagination ul li a,




.arch-pagination .woocommerce-pagination ul li span {




  display: flex; align-items: center; justify-content: center;




  width: 40px; height: 40px;




  font-size: 13px; text-decoration: none; color: #111;




  border: 1px solid transparent; transition: border-color .15s;




}




.arch-pagination .woocommerce-pagination ul li a:hover { border-color: #111; }




.arch-pagination .woocommerce-pagination ul li span.current { border-color: #111; font-weight: 600; }









/* Empty */




.arch-empty { text-align: center; padding: 80px 0; }




.arch-empty p { font-size: 16px; color: #777; margin-bottom: 24px; }




.arch-empty-btn { display: inline-block; padding: 14px 32px; background: #111; color: #fff; text-decoration: none; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }









/* Responsive catalog */




@media (max-width: 1200px) { .arch-grid { grid-template-columns: repeat(3, 1fr); } }




@media (max-width: 768px)  { .arch-page { padding: 100px 20px 60px; } .arch-grid { grid-template-columns: repeat(2, 1fr); gap: 20px 16px; } }




@media (max-width: 480px)  { .arch-grid { grid-template-columns: repeat(2, 1fr); gap: 16px 12px; } }









/* ══════════════════════




   CART PAGE




══════════════════════ */




.woocommerce-cart .site-main,




.woocommerce-cart main {




  padding: 100px 60px 100px;




  max-width: 1320px;




  margin: 0 auto;




}









/* Page heading */




.cart-page-heading {




  margin-bottom: 48px;




  padding-bottom: 24px;




  border-bottom: 1px solid #e0e0e0;




}




.cart-page-heading h1 {




  font-family: 'Cormorant Garamond', serif;




  font-size: clamp(32px, 4vw, 52px);




  font-weight: 400;




  letter-spacing: -.02em;




  margin: 0 0 6px;




}




.cart-item-count {




  font-size: 12px;




  letter-spacing: .1em;




  text-transform: uppercase;




  color: #999;




}









/* Two-column layout */




.cart-page-wrap {




  display: grid;




  grid-template-columns: 1fr 400px;




  gap: 64px;




  align-items: start;




}




.cart-section-title {




  font-family: 'Cormorant Garamond', serif;




  font-size: 22px;




  font-weight: 400;




  margin: 0 0 24px;




  letter-spacing: .02em;




  text-transform: uppercase;




}









/* Column headers */




/* OLD-OVERRIDDEN .cart-col-headers {




  display: grid;




  grid-template-columns: 140px 1fr 130px 100px 40px;




  gap: 20px;




  align-items: center;




  padding-bottom: 14px;




  border-bottom: 2px solid #111;




  margin-bottom: 0;




} OLD-OVERRIDDEN */




.cart-col-headers span {




  font-size: 10px;




  letter-spacing: .12em;




  text-transform: uppercase;




  color: #999;




  font-weight: 500;




}




.cart-col-headers .col-qty { text-align: center; }




.cart-col-headers .col-price { text-align: right; }









/* Cart item row */




/* OLD-OVERRIDDEN .cart-item {




  display: grid;




  grid-template-columns: 140px 1fr 130px 100px 40px;




  gap: 20px;




  align-items: center;




  padding: 20px 0;




  border-bottom: 1px solid #ebebeb;




} OLD-OVERRIDDEN */




.cart-item:last-child { border-bottom: none; }




.cart-item-img {




  width: 120px;




  height: 155px;




  overflow: hidden;




  background: #f5f5f3;




  flex-shrink: 0;




}




.cart-item-img img { width: 100%; height: 100%; object-fit: cover; display: block; }




.cart-item-img a { display: block; width: 100%; height: 100%; }




.cart-item-details { padding-right: 8px; }




.cart-item-name {




  font-size: 14px;




  letter-spacing: .01em;




  margin-bottom: 6px;




  line-height: 1.4;




}




.cart-item-name a { text-decoration: none; color: #111; font-weight: 500; }




.cart-item-name a:hover { text-decoration: underline; }




.cart-item-meta {




  font-size: 12px;




  color: #999;




  letter-spacing: .02em;




  margin-top: 4px;




}




.cart-item-price {




  font-size: 14px;




  color: #555;




  text-align: center;




}




.cart-item-actions {




  display: flex;




  flex-direction: column;




  align-items: flex-end;




  gap: 10px;




}




/* Quantity input */




.cart-item-actions .quantity {




  display: flex;




  align-items: center;




  border: 1px solid #ddd;




  background: #fff;




}




.cart-item-actions .quantity input.qty {




  width: 52px;




  height: 38px;




  border: none;




  text-align: center;




  font-size: 14px;




  background: transparent;




  outline: none;




  -moz-appearance: textfield;




}




.cart-item-actions .quantity input.qty::-webkit-inner-spin-button,




.cart-item-actions .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; }




.cart-item-subtotal {




  font-size: 14px;




  font-weight: 600;




  color: #111;




  text-align: right;




  white-space: nowrap;




}




.cart-remove {




  font-size: 18px;




  color: #ccc;




  text-decoration: none;




  line-height: 1;




  transition: color .15s;




  text-align: center;




  display: block;




}




.cart-remove:hover { color: #111; }









/* Coupon + update */




.cart-actions {




  display: flex;




  justify-content: space-between;




  align-items: center;




  padding: 28px 0 0;




  border-top: 1px solid #ebebeb;




  margin-top: 4px;




  flex-wrap: wrap;




  gap: 12px;




}




.cart-coupon { display: flex; gap: 0; }




.cart-coupon-input {




  border: 1px solid #ddd;




  border-right: none;




  padding: 12px 18px;




  font-size: 13px;




  width: 210px;




  outline: none;




  background: #fff;




  transition: border-color .15s;




}




.cart-coupon-input:focus { border-color: #111; }




.cart-coupon-btn {




  background: #111;




  color: #fff;




  border: 1px solid #111;




  padding: 12px 22px;




  font-size: 11px;




  letter-spacing: .1em;




  text-transform: uppercase;




  cursor: pointer;




  transition: background .15s;




}




.cart-coupon-btn:hover { background: #333; }




.cart-update-btn {




  background: transparent;




  border: 1px solid #ddd;




  padding: 12px 22px;




  font-size: 11px;




  letter-spacing: .1em;




  text-transform: uppercase;




  cursor: pointer;




  transition: border-color .15s, color .15s;




  color: #777;




}




.cart-update-btn:hover { border-color: #111; color: #111; }









/* Cart totals (WooCommerce default override) */




.cart-summary {




  position: sticky;




  top: 100px;




}




.cart-summary .cart_totals {




  background: #fff;




  border: 1px solid #e0e0e0;




  padding: 36px 32px;




}




.cart-summary-inner-title {




  font-family: 'Cormorant Garamond', serif;




  font-size: 20px;




  font-weight: 400;




  letter-spacing: .04em;




  text-transform: uppercase;




  margin: 0 0 24px;




  padding-bottom: 16px;




  border-bottom: 2px solid #111;




}




.cart-summary .cart_totals h2 { display: none; }




.cart-summary .shop_table {




  width: 100%;




  border-collapse: collapse;




  margin-bottom: 0;




}




.cart-summary .shop_table th,




.cart-summary .shop_table td {




  padding: 14px 0;




  border-bottom: 1px solid #ebebeb;




  font-size: 14px;




  text-align: left;




  vertical-align: middle;




}




.cart-summary .shop_table th {




  color: #888;




  font-weight: 400;




  letter-spacing: .03em;




  width: 45%;




}




.cart-summary .shop_table td { text-align: right; }




.cart-summary .shop_table .order-total th,




.cart-summary .shop_table .order-total td {




  border-bottom: none;




  font-weight: 700;




  font-size: 17px;




  padding-top: 22px;




  color: #111;




}




/* Shipping options */




.cart-summary .shipping-calculator-button { display: none; }




.cart-summary .woocommerce-shipping-destination { font-size: 12px; color: #999; }




.cart-summary ul#shipping_method { list-style: none; padding: 0; margin: 0; }




.cart-summary ul#shipping_method li {




  font-size: 13px;




  display: flex;




  align-items: center;




  gap: 8px;




  margin-bottom: 6px;




  color: #555;




}




.cart-summary ul#shipping_method li input { margin: 0; accent-color: #111; }









/* Checkout button */




.cart-summary .wc-proceed-to-checkout { margin-top: 28px; }




.cart-summary .wc-proceed-to-checkout .checkout-button {




  display: block;




  width: 100%;




  padding: 17px;




  background: #111;




  color: #fff;




  text-align: center;




  text-decoration: none;




  font-size: 11px;




  letter-spacing: .15em;




  text-transform: uppercase;




  border: none;




  cursor: pointer;




  transition: background .2s;




}




.cart-summary .wc-proceed-to-checkout .checkout-button:hover { background: #2a2a2a; }









/* Continue shopping link */




.cart-continue-link {




  display: block;




  text-align: center;




  margin-top: 16px;




  font-size: 12px;




  letter-spacing: .06em;




  text-transform: uppercase;




  color: #999;




  text-decoration: none;




  transition: color .15s;




}




.cart-continue-link:hover { color: #111; }









/* Checkout page */




.woocommerce-checkout .site-main,




.woocommerce-checkout main { padding: 120px 44px 100px; max-width: 1400px; margin: 0 auto; }




.woocommerce-checkout .woocommerce { display: grid; grid-template-columns: 1fr 380px; gap: 60px; align-items: start; }




.woocommerce-checkout h3 { font-family: 'Cormorant Garamond', serif; font-size: 26px; font-weight: 400; margin: 0 0 28px; letter-spacing: -.01em; }




.woocommerce-checkout .form-row { margin-bottom: 16px; }




.woocommerce-checkout .form-row label { display: block; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 8px; color: #555; }




.woocommerce-checkout .form-row input,




.woocommerce-checkout .form-row select,




.woocommerce-checkout .form-row textarea { width: 100%; border: 1px solid #ddd; padding: 13px 16px; font-size: 14px; outline: none; background: #fff; transition: border-color .15s; }




.woocommerce-checkout .form-row input:focus,




.woocommerce-checkout .form-row select:focus { border-color: #111; }




.woocommerce-checkout #place_order {




  width: 100%; padding: 16px; background: #111; color: #fff;




  border: none; cursor: pointer; font-size: 12px; letter-spacing: .12em; text-transform: uppercase;




  transition: background .2s; margin-top: 16px;




}




.woocommerce-checkout #place_order:hover { background: #333; }









/* Empty cart */




.woocommerce-cart .cart-empty { text-align: center; padding: 60px 0; font-size: 16px; color: #777; }




.woocommerce-cart .return-to-shop a { display: inline-block; margin-top: 20px; padding: 14px 32px; background: #111; color: #fff; text-decoration: none; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }









@media (max-width: 900px) {




  .cart-page-wrap, .woocommerce-checkout .woocommerce { grid-template-columns: 1fr; }




  .woocommerce-cart .site-main, .woocommerce-checkout .site-main { padding: 100px 20px 60px; }




}









/* ══════════════════════




   MY ACCOUNT PAGE




══════════════════════ */




.woocommerce-account .site-main { padding-top: 120px; padding-bottom: 80px; }









.myaccount-wrap {




  display: grid;




  grid-template-columns: 220px 1fr;




  gap: 80px;




  align-items: start;




}









/* Sidebar */




.myaccount-sidebar-title {




  font-family: 'Inter', sans-serif;




  font-size: 10px; letter-spacing: .22em; text-transform: uppercase;




  color: #111; font-weight: 600; margin-bottom: 28px;




}




.myaccount-nav {




  display: flex; flex-direction: column; gap: 0;




  border-top: 1px solid #e8e8e8;




}




.myaccount-nav-link {




  display: block;




  padding: 13px 0;




  font-family: 'Inter', sans-serif;




  font-size: 13px; font-weight: 400; color: #555;




  border-bottom: 1px solid #e8e8e8;




  text-decoration: none;




  transition: color .15s;




}




.myaccount-nav-link:hover,




.myaccount-nav-link.active,




.myaccount-nav-link.is-active { color: #111; }




.myaccount-nav-link.active,




.myaccount-nav-link.is-active { font-weight: 500; }









/* Dashboard tiles */




.myaccount-welcome {




  font-family: 'Inter', sans-serif;




  font-size: 13px; color: #555; margin-bottom: 40px; line-height: 1.6;




}




.myaccount-welcome strong { color: #111; font-weight: 500; }




.myaccount-welcome a { color: #111; }









.myaccount-tiles {




  display: grid;




  grid-template-columns: repeat(3, 1fr);




  gap: 3px;




}




.myaccount-tile {




  display: flex; flex-direction: column;




  align-items: center; justify-content: center;




  gap: 18px;




  padding: 48px 20px;




  border: 1px solid #e8e8e8;




  text-decoration: none;




  transition: border-color .2s, background .2s;




  cursor: pointer;




}




.myaccount-tile:hover { border-color: #111; background: #fafafa; }




.myaccount-tile-icon { width: 36px; height: 36px; color: #aaa; }




.myaccount-tile-icon svg { width: 100%; height: 100%; }




.myaccount-tile:hover .myaccount-tile-icon { color: #111; }




.myaccount-tile-label {




  font-family: 'Inter', sans-serif;




  font-size: 10px; letter-spacing: .2em; text-transform: uppercase;




  color: #111; font-weight: 500;




}




.myaccount-tile--logout .myaccount-tile-icon { color: #ccc; }




.myaccount-tile--logout:hover .myaccount-tile-icon { color: #c0392b; }









/* Inner account pages (orders list, addresses, account details) */




.myaccount-content .woocommerce-Message,




.myaccount-content p { font-family: 'Inter', sans-serif; font-size: 13px; color: #555; line-height: 1.7; }




.myaccount-content h2, .myaccount-content h3 {




  font-family: 'Inter', sans-serif; font-size: 13px; letter-spacing: .18em;




  text-transform: uppercase; font-weight: 500; color: #111; margin-bottom: 24px;




}




.myaccount-content .woocommerce-orders-table,




.myaccount-content table {




  width: 100%; border-collapse: collapse; font-size: 13px; font-family: 'Inter', sans-serif;




}




.myaccount-content table th {




  font-size: 10px; letter-spacing: .18em; text-transform: uppercase;




  font-weight: 500; color: #111; border-bottom: 1px solid #e8e8e8; padding: 10px 0;




  text-align: left;




}




.myaccount-content table td { padding: 14px 0; border-bottom: 1px solid #f0f0f0; color: #555; }




.myaccount-content table a { color: #111; }




.myaccount-content .button,




.myaccount-content input[type="submit"] {




  display: inline-block; padding: 12px 28px; background: #111; color: #fff;




  font-size: 10px; letter-spacing: .14em; text-transform: uppercase;




  border: none; cursor: pointer; text-decoration: none;




  transition: background .2s; font-family: 'Inter', sans-serif;




}




.myaccount-content .button:hover,




.myaccount-content input[type="submit"]:hover { background: #333; }




.myaccount-content .form-row label {




  font-size: 10px; letter-spacing: .14em; text-transform: uppercase;




  font-weight: 500; color: #111; display: block; margin-bottom: 8px;




}




.myaccount-content .form-row input,




.myaccount-content .form-row select {




  width: 100%; border: 1px solid #ddd; padding: 12px 14px;




  font-size: 13px; font-family: 'Inter', sans-serif;




  outline: none; transition: border-color .15s;




}




.myaccount-content .form-row input:focus,




.myaccount-content .form-row select:focus { border-color: #111; }









@media (max-width: 900px) {




  .myaccount-wrap { grid-template-columns: 1fr; gap: 40px; }




  .myaccount-tiles { grid-template-columns: repeat(2, 1fr); }




}









/* ══════════════════════




   SHOP FILTER BAR




══════════════════════ */




.shop-filterbar {




  display: flex; align-items: center; justify-content: space-between;




  padding: 14px 0; border-top: 1px solid #e8e8e8; border-bottom: 1px solid #e8e8e8;




  margin-bottom: 36px;




}




.shop-filter-btn {




  display: inline-flex; align-items: center; gap: 9px;




  padding: 9px 18px; border: 1px solid #d0d0d0; background: #fff;




  font-family: 'Inter', sans-serif; font-size: 11px; letter-spacing: .18em;




  text-transform: uppercase; font-weight: 500; color: #111;




  cursor: pointer; transition: border-color .2s, background .2s;




}




.shop-filter-btn svg { width: 18px; height: 18px; }




.shop-filter-btn:hover,




.shop-filter-btn.active { border-color: #111; background: #111; color: #fff; }




.shop-filter-btn.active svg circle { fill: #fff; }









.shop-filterbar-right {




  display: flex; align-items: center; gap: 24px;




}




.shop-bar-label {




  font-family: 'Inter', sans-serif; font-size: 12px; color: #555;




  white-space: nowrap; margin-right: 8px;




}




.shop-sort-wrap, .shop-show-wrap {




  display: flex; align-items: center;




}




.shop-select-wrap { position: relative; display: inline-flex; align-items: center; }




.shop-sort-select, .shop-show-select {




  appearance: none; -webkit-appearance: none;




  border: 1px solid #d0d0d0; background: #fff;




  padding: 8px 32px 8px 12px;




  font-family: 'Inter', sans-serif; font-size: 12px; color: #111;




  cursor: pointer; outline: none;




  transition: border-color .2s;




}




.shop-sort-select:focus, .shop-show-select:focus { border-color: #111; }




.shop-select-arr {




  position: absolute; right: 10px; width: 10px; height: 8px;




  pointer-events: none; color: #555;




}









.shop-view-toggle { display: flex; gap: 2px; }




.shop-view-btn {




  width: 36px; height: 36px; border: 1px solid #d0d0d0;




  background: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center;




  transition: border-color .2s, background .2s; color: #888;




}




.shop-view-btn svg { width: 16px; height: 16px; }




.shop-view-btn.active { border-color: #111; background: #111; color: #fff; }




.shop-view-btn.active svg { fill: #fff; stroke: #fff; }









/* Filter Panel */




.shop-filter-panel {




  display: none; padding: 28px 0 24px;




  border-bottom: 1px solid #e8e8e8; margin-bottom: 36px;




}




.shop-filter-panel.open { display: block; }




.shop-filter-inner {




  display: flex; gap: 60px; flex-wrap: wrap; align-items: flex-start;




}




.shop-filter-group-title {




  font-family: 'Inter', sans-serif; font-size: 10px; letter-spacing: .2em;




  text-transform: uppercase; font-weight: 600; color: #111;




  margin-bottom: 14px;




}




.shop-filter-sizes { display: flex; flex-wrap: wrap; gap: 6px; }




.shop-size-btn {




  padding: 6px 14px; border: 1px solid #d0d0d0;




  font-family: 'Inter', sans-serif; font-size: 11px; color: #555;




  text-decoration: none; transition: border-color .15s, color .15s, background .15s;




}




.shop-size-btn:hover { border-color: #111; color: #111; }




.shop-size-btn.active { border-color: #111; background: #111; color: #fff; }









.shop-price-form { display: flex; align-items: center; gap: 10px; }




.shop-price-input {




  width: 80px; border: 1px solid #d0d0d0; padding: 7px 10px;




  font-family: 'Inter', sans-serif; font-size: 12px; outline: none;




  transition: border-color .15s;




}




.shop-price-input:focus { border-color: #111; }




.shop-price-dash { color: #aaa; font-size: 14px; }




.shop-price-btn {




  padding: 7px 18px; background: #111; color: #fff; border: none;




  font-family: 'Inter', sans-serif; font-size: 10px; letter-spacing: .14em;




  text-transform: uppercase; cursor: pointer; transition: background .2s;




}




.shop-price-btn:hover { background: #333; }




.shop-price-clear {




  font-family: 'Inter', sans-serif; font-size: 11px; color: #888;




  text-decoration: underline; text-underline-offset: 3px;




}









/* List view */




.arch-grid.list-view {




  grid-template-columns: 1fr;




}




.arch-grid.list-view .arch-card {




  display: grid; grid-template-columns: 200px 1fr;




  align-items: center; gap: 24px;




  border-bottom: 1px solid #f0f0f0; padding-bottom: 20px;




}




.arch-grid.list-view .arch-card-img { aspect-ratio: 1; }




.arch-grid.list-view .arch-card-info { padding: 0; }









@media (max-width: 768px) {




  .shop-filterbar { flex-wrap: wrap; gap: 14px; }




  .shop-filterbar-right { flex-wrap: wrap; gap: 12px; }




  .shop-filter-inner { gap: 30px; }




}









/* ══════════════════════




   TASK 7: Clickable product cards — JS-driven navigation




   (pointer-events: none on overlay avoids all z-index fights)




══════════════════════ */




.prod-card { position: relative; cursor: pointer; }




.prod-name > a { position: static; }




.prod-name > a::after {




  content: '';




  position: absolute;




  inset: 0;




  pointer-events: none;




}









/* ══════════════════════




   MY ACCOUNT: Tiles 5 in a row (Task 3)




══════════════════════ */




.myaccount-tiles { grid-template-columns: repeat(5, 1fr); gap: 3px; }




.myaccount-tile { padding: 40px 16px; gap: 14px; }




.myaccount-tile-icon { width: 30px; height: 30px; }




.myaccount-tile-label { font-size: 9px; text-align: center; }









/* Orders table — wider, more symmetric (Task 3) */




.myaccount-content .woocommerce-orders-table th,




.myaccount-content .woocommerce-orders-table td { padding: 16px 12px; }




.myaccount-content .woocommerce-orders-table th:first-child,




.myaccount-content .woocommerce-orders-table td:first-child { padding-left: 0; }




.myaccount-content .woocommerce-orders-table { margin-top: 12px; }




.myaccount-content .woocommerce-orders-table .button {




  padding: 8px 20px; font-size: 9px; white-space: nowrap;




}









/* Account details form — 2-column grid (Task 4) */




.myaccount-content .woocommerce-EditAccountForm .form-row-first,




.myaccount-content .woocommerce-EditAccountForm .form-row-last {




  display: inline-block; width: calc(50% - 10px); vertical-align: top; box-sizing: border-box;




}




.myaccount-content .woocommerce-EditAccountForm .form-row-first { margin-right: 18px; }




.myaccount-content .woocommerce-EditAccountForm .form-row-wide { display: block; width: 100%; }




.myaccount-content .woocommerce-EditAccountForm { max-width: 640px; }




.myaccount-content .woocommerce-EditAccountForm h3 { margin: 32px 0 18px; }




.myaccount-content .woocommerce-EditAccountForm fieldset { border: none; padding: 0; margin: 0; }




.myaccount-content .woocommerce-EditAccountForm .form-row label { margin-bottom: 6px; }









@media (max-width: 900px) {




  .myaccount-tiles { grid-template-columns: repeat(3, 1fr); }




  .myaccount-tile { padding: 32px 12px; }




}




@media (max-width: 520px) {




  .myaccount-tiles { grid-template-columns: repeat(2, 1fr); }




  .myaccount-content .woocommerce-EditAccountForm .form-row-first,




  .myaccount-content .woocommerce-EditAccountForm .form-row-last {




    display: block; width: 100%; margin-right: 0;




  }




}









/* ══════════════════════




   LOGIN PAGE (Task 5)




══════════════════════ */




.auth-page {




  min-height: calc(100vh - 100px);




  padding: 100px 44px 80px;




  display: flex; flex-direction: column; align-items: center;




}




.auth-brand { text-align: center; margin-bottom: 56px; }




.auth-logo { height: 36px; width: auto; margin: 0 auto 12px; display: block; }




.auth-brand-sub { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: #999; }




.auth-panels {




  display: flex; gap: 0; align-items: stretch; width: 100%; max-width: 860px;




}




.auth-panel {




  flex: 1; padding: 48px 52px; border: 1px solid #e8e8e8;




}




.auth-panel:first-child { border-right: none; }




.auth-panel-kicker { font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: #999; margin-bottom: 10px; }




.auth-panel-title {




  font-family: 'Cormorant Garamond', serif; font-size: 30px;




  font-weight: 300; margin-bottom: 36px; line-height: 1.1;




}




.auth-field { margin-bottom: 20px; }




.auth-field label {




  display: block; font-size: 10px; letter-spacing: .14em;




  text-transform: uppercase; font-weight: 500; color: #111; margin-bottom: 8px;




}




.auth-field input[type="text"],




.auth-field input[type="email"],




.auth-field input[type="password"] {




  width: 100%; border: 1px solid #ddd; padding: 13px 14px;




  font-size: 13px; font-family: 'Inter', sans-serif;




  outline: none; transition: border-color .15s; background: #fff;




}




.auth-field input:focus { border-color: #111; }




.auth-remember-row {




  display: flex; justify-content: space-between; align-items: center;




}




.auth-checkbox-label { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #555; cursor: pointer; }




.auth-checkbox-label input { width: auto; border: none; padding: 0; margin: 0; }




.auth-lost-pass { font-size: 11px; color: #999; text-decoration: underline; text-underline-offset: 3px; }




.auth-lost-pass:hover { color: #111; }




.auth-btn {




  display: block; width: 100%; height: 48px; margin-top: 28px;




  background: #111; color: #fff; border: none; cursor: pointer;




  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;




  font-family: 'Inter', sans-serif; transition: background .2s;




}




.auth-btn:hover { background: #333; }




.auth-btn--outline { background: #fff; color: #111; border: 1px solid #111; }




.auth-btn--outline:hover { background: #111; color: #fff; }




.auth-divider {




  display: flex; flex-direction: column; align-items: center; justify-content: center;




  padding: 0 24px;




}




.auth-divider span {




  font-size: 10px; letter-spacing: .1em; text-transform: uppercase;




  color: #bbb; writing-mode: vertical-rl;




}




.auth-note { font-size: 12px; color: #999; line-height: 1.6; margin-top: 8px; }




.woocommerce-error { margin-bottom: 16px; }




@media (max-width: 768px) {




  .auth-panels { flex-direction: column; }




  .auth-panel { padding: 36px 28px; border-right: 1px solid #e8e8e8 !important; }




  .auth-divider { flex-direction: row; padding: 20px 0; }




  .auth-divider span { writing-mode: horizontal-tb; }




  .auth-page { padding: 100px 20px 60px; }




}









/* ══════════════════════




   BLOG — Listing (Task 1)




══════════════════════ */




.blog-page { padding: 120px 44px 100px; max-width: 1400px; margin: 0 auto; }




.blog-header { text-align: center; margin-bottom: 72px; }




.blog-kicker { font-size: 10px; letter-spacing: .26em; text-transform: uppercase; color: #999; margin-bottom: 14px; }




.blog-title {




  font-family: 'Cormorant Garamond', serif; font-size: clamp(42px, 5vw, 72px);




  font-weight: 300; line-height: 1; margin-bottom: 16px;




}




.blog-sub { font-size: 14px; color: #777; max-width: 400px; margin: 0 auto; }




.blog-grid {




  display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px 24px;




}




.blog-card { display: flex; flex-direction: column; }




.blog-card-img-wrap { position: relative; aspect-ratio: 4/3; background: #f2f2f0; overflow: hidden; }




.blog-card-img-link { display: block; width: 100%; height: 100%; }




.blog-card-img { width: 100%; height: 100%; display: block; }




.blog-card-img img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .5s ease; display: block; }




.blog-card-img--placeholder { width: 100%; height: 100%; background: #f2f2f0; display: block; }




.blog-card:hover .blog-card-img img { transform: scale(1.04); }




/* Icon badge on card photo */




.blog-card-icon {




  position: absolute; top: 12px; right: 12px;




  width: 36px; height: 36px;




  background: rgba(255,255,255,.92); backdrop-filter: blur(6px);




  border-radius: 50%;




  display: flex; align-items: center; justify-content: center;




  color: #111;




  box-shadow: 0 2px 8px rgba(0,0,0,.10);




  pointer-events: none;




}




.blog-card-icon--leaf { color: #3a6b35; }




.blog-card-icon--trend { color: #8b6914; }




.blog-card-icon--style { color: #111; }




.blog-card-icon--grid  { color: #555; }




.blog-card-body { padding: 18px 0 0; flex: 1; display: flex; flex-direction: column; }




.blog-card-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }




.blog-card-date { font-size: 10px; letter-spacing: .14em; color: #bbb; text-transform: uppercase; }




.blog-card-author { font-size: 10px; letter-spacing: .06em; color: #aaa; }




.blog-card-title { font-size: 17px; font-weight: 400; line-height: 1.4; margin-bottom: 12px; }




.blog-card-title a { text-decoration: none; color: #111; transition: opacity .15s; }




.blog-card-title a:hover { opacity: .6; }




.blog-card-excerpt { font-size: 13px; color: #777; line-height: 1.7; margin-bottom: 16px; flex: 1; }




.blog-card-link { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: #111; text-decoration: none; border-bottom: 1px solid #111; padding-bottom: 2px; align-self: flex-start; transition: opacity .2s; }




.blog-card-link:hover { opacity: .5; }




.blog-pagination { margin-top: 72px; display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }




.blog-pagination .page-numbers {




  display: inline-flex; align-items: center; justify-content: center;




  width: 40px; height: 40px; border: 1px solid #e8e8e8;




  font-size: 12px; color: #111; text-decoration: none; transition: background .15s;




}




.blog-pagination .page-numbers.current { background: #111; color: #fff; border-color: #111; }




.blog-pagination .page-numbers:hover { border-color: #111; }




.blog-pagination .prev, .blog-pagination .next { width: auto; padding: 0 16px; }




.blog-empty { text-align: center; padding: 80px 0; font-size: 14px; color: #999; }




@media (max-width: 1100px) { .blog-grid { grid-template-columns: repeat(2, 1fr); } }




@media (max-width: 640px) {




  .blog-grid { grid-template-columns: 1fr; }




  .blog-page { padding: 120px 20px 60px; }




}









/* ══════════════════════




   BLOG — Single post (Task 1)




══════════════════════ */




.single-post-page { padding-top: 100px; }




.post-hero { width: 100%; aspect-ratio: 16/7; overflow: hidden; background: #f2f2f0; }




.post-hero-img { width: 100%; height: 100%; object-fit: cover; display: block; }




.post-wrap { max-width: 760px; margin: 0 auto; padding: 56px 44px 80px; }




.post-meta {




  display: flex; align-items: center; gap: 10px;




  font-size: 11px; color: #bbb; margin-bottom: 28px; flex-wrap: wrap;




}




.post-meta-back { color: #111; text-decoration: none; font-size: 11px; letter-spacing: .06em; }




.post-meta-back:hover { opacity: .6; }




.post-meta-sep { color: #ddd; }




.post-meta-cat { color: #111; text-decoration: none; }




.post-meta-cat:hover { opacity: .6; }




.post-meta-author { color: #888; display: inline-flex; align-items: center; gap: 5px; }




.post-meta-icon { display: inline-flex; align-items: center; opacity: .7; }




.post-title {




  font-family: 'Cormorant Garamond', serif; font-size: clamp(32px, 4vw, 52px);




  font-weight: 300; line-height: 1.15; margin-bottom: 20px;




}




.post-lead { font-size: 16px; color: #555; line-height: 1.75; margin-bottom: 40px; font-style: italic; border-left: 3px solid #e8e8e8; padding-left: 20px; }




.post-content { font-size: 15px; line-height: 1.85; color: #333; }




.post-content h2 { font-family: 'Cormorant Garamond', serif; font-size: 26px; font-weight: 400; margin: 40px 0 16px; }




.post-content h3 { font-size: 17px; font-weight: 500; margin: 30px 0 12px; }




.post-content p { margin-bottom: 18px; }




.post-content ul, .post-content ol { margin: 0 0 18px 20px; }




.post-content li { margin-bottom: 8px; }




.post-content strong { font-weight: 500; }




.post-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 48px; border-top: 1px solid #e8e8e8; padding-top: 24px; }




.post-tag { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; padding: 5px 12px; border: 1px solid #ddd; color: #777; text-decoration: none; transition: border-color .15s, color .15s; }




.post-tag:hover { border-color: #111; color: #111; }




.post-related { padding: 60px 44px 80px; border-top: 1px solid #e8e8e8; background: #fafafa; }




.post-related-label { font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: #999; margin-bottom: 32px; text-align: center; }




.post-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; max-width: 960px; margin: 0 auto; }




.post-rel-card { text-decoration: none; color: #111; display: flex; flex-direction: column; }




.post-rel-img-wrap { flex-shrink: 0; aspect-ratio: 3/2; overflow: hidden; background: #f2f2f0; margin-bottom: 16px; }




.post-rel-img { width: 100%; height: 100%; }




.post-rel-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; display: block; }




.post-rel-card:hover .post-rel-img img { transform: scale(1.04); }




.post-rel-img--placeholder { width: 100%; height: 100%; background: #f2f2f0; display: block; }




.post-rel-body { display: flex; flex-direction: column; flex: 1; }




.post-rel-date { font-size: 10px; color: #bbb; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 8px; }




.post-rel-title { font-size: 14px; font-weight: 400; line-height: 1.45; color: #111; flex: 1; margin-bottom: 10px; }




.post-rel-link { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: #555; }




.post-rel-card:hover .post-rel-title { opacity: .6; }




@media (max-width: 768px) {




  .post-wrap { padding: 40px 20px 60px; }




  .post-related { padding: 48px 20px 60px; }




  .post-related-grid { grid-template-columns: 1fr; }




}









/* Newsletter feedback */




.nl-success { font-size: 14px; color: #2d8a4e; letter-spacing: .04em; }




.nl-error { font-size: 12px; color: #c0392b; margin-top: 8px; }





























/* ══════════════════════




   CART & CHECKOUT MOBILE




══════════════════════ */




@media (max-width: 600px) {









  /* ── Cart page padding ── */




  .woocommerce-cart .site-main,




  .woocommerce-cart main {




    padding: 80px 16px 60px;




  }




  .cart-page-heading { margin-bottom: 28px; }




  .cart-page-heading h1 { font-size: 28px; }









  /* ── Hide desktop column headers ── */




  .cart-col-headers { display: none; }









  /* ── Cart item: stack image + info vertically ── */




  .cart-item {




    display: flex;




    flex-direction: column;




    gap: 0;




    padding: 20px 0;




    position: relative;




  }




  .cart-item-top {




    display: flex;




    gap: 14px;




    align-items: flex-start;




    width: 100%;




  }




  .cart-item-img {




    width: 90px;




    height: 116px;




    flex-shrink: 0;




  }




  .cart-item-details {




    flex: 1;




    padding-right: 36px; /* space for remove button */




  }




  .cart-item-name { font-size: 14px; line-height: 1.4; }




  .cart-item-price {




    font-size: 13px;




    color: #888;




    text-align: left;




    margin-top: 4px;




  }









  /* ── Remove button: top-right corner ── */




  .cart-remove {




    position: absolute;




    top: 20px;




    right: 0;




    font-size: 20px;




    color: #bbb;




    width: 32px;




    height: 32px;




    display: flex;




    align-items: center;




    justify-content: center;




  }









  /* ── Quantity + subtotal row below item info ── */




  .cart-item-bottom {




    display: flex;




    align-items: center;




    justify-content: space-between;




    margin-top: 14px;




    padding-top: 12px;




    border-top: 1px solid #f0f0f0;




    width: 100%;




  }




  .cart-item-actions {




    flex-direction: row;




    align-items: center;




    gap: 0;




  }




  .cart-item-actions .quantity input.qty {




    width: 44px;




    height: 36px;




    font-size: 14px;




  }




  .cart-item-subtotal {




    font-size: 15px;




    font-weight: 600;




  }









  /* ── Coupon + update: stack on mobile ── */




  .cart-actions {




    flex-direction: column;




    align-items: stretch;




    gap: 10px;




    padding-top: 20px;




  }




  .cart-coupon { width: 100%; }




  .cart-coupon-input { width: 100%; flex: 1; font-size: 15px; padding: 13px 14px; }




  .cart-update-btn {




    width: 100%;




    padding: 13px;




    font-size: 12px;




  }









  /* ── Cart summary box ── */




  .cart-summary .cart_totals { padding: 24px 20px; }




  .cart-summary .shop_table th,




  .cart-summary .shop_table td { font-size: 14px; padding: 12px 0; }




  .cart-summary .shop_table .order-total th,




  .cart-summary .shop_table .order-total td { font-size: 16px; }




  .cart-summary .wc-proceed-to-checkout .checkout-button {




    padding: 16px;




    font-size: 12px;




    letter-spacing: .12em;




  }




  .cart-continue-link { font-size: 12px; margin-top: 14px; }









  /* ── Checkout page ── */




  .woocommerce-checkout .site-main,




  .woocommerce-checkout main { padding: 80px 16px 60px; }




  .woocommerce-checkout h3 { font-size: 22px; margin-bottom: 20px; }




  .woocommerce-checkout .form-row { margin-bottom: 14px; }




  .woocommerce-checkout .form-row label { font-size: 11px; margin-bottom: 6px; }




  .woocommerce-checkout .form-row input,




  .woocommerce-checkout .form-row select,




  .woocommerce-checkout .form-row textarea {




    padding: 14px 14px;




    font-size: 16px; /* prevents iOS zoom */




    border-radius: 0;




  }




  .woocommerce-checkout #place_order {




    padding: 17px;




    font-size: 12px;




    letter-spacing: .12em;




    margin-top: 20px;




  }









  /* ── Order review on checkout (below form) ── */




  #order_review_heading { margin-top: 40px; }




  .woocommerce-checkout-review-order-table th,




  .woocommerce-checkout-review-order-table td {




    font-size: 13px;




    padding: 10px 0;




  }









  /* ── Payment methods ── */




  .woocommerce-checkout #payment {




    background: #f9f9f9;




    border: 1px solid #e8e8e8;




    padding: 20px 16px;




  }




  .woocommerce-checkout #payment ul.payment_methods li { margin-bottom: 12px; }




  .woocommerce-checkout #payment ul.payment_methods label { font-size: 14px; }






  /* ── Cart Summary (PODSUMOWANIE) mobile ── */

  /* Make cart-summary full width, clean box */
  .cart-summary {
    position: static;
    margin-top: 32px;
  }
  .cart-summary .cart_totals {
    padding: 24px 18px;
    border: 1px solid #e0e0e0;
  }
  .cart-summary-inner-title {
    font-size: 16px;
    margin-bottom: 18px;
    padding-bottom: 12px;
  }

  /* Table rows */
  .cart-summary .shop_table th,
  .cart-summary .shop_table td {
    font-size: 14px;
    padding: 12px 0;
    vertical-align: top;
  }
  .cart-summary .shop_table .order-total th,
  .cart-summary .shop_table .order-total td {
    font-size: 16px;
    padding-top: 18px;
  }

  /* Shipping method list — clean, no bullets */
  .cart-summary ul#shipping_method,
  #shipping_method {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .cart-summary ul#shipping_method li,
  #shipping_method li {
    list-style: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
    padding: 10px 12px !important;
    border: 1px solid #e8e8e8 !important;
    font-size: 13px !important;
    color: #333 !important;
    cursor: pointer;
    background: #fff;
  }
  .cart-summary ul#shipping_method li:last-child,
  #shipping_method li:last-child { margin-bottom: 0 !important; }

  /* Hide the price label inside — shown inline after name */
  .cart-summary ul#shipping_method li label,
  #shipping_method li label {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    flex: 1;
    font-size: 13px;
  }
  .cart-summary ul#shipping_method li input[type="radio"],
  #shipping_method li input[type="radio"] {
    margin: 0;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    accent-color: #111;
  }

  /* Selected shipping row highlight */
  .cart-summary ul#shipping_method li:has(input:checked),
  #shipping_method li:has(input:checked) {
    border-color: #111 !important;
    background: #fafafa;
  }

  /* Proceed button */
  .cart-summary .wc-proceed-to-checkout .checkout-button {
    padding: 16px;
    font-size: 12px;
    letter-spacing: .12em;
  }

  /* Continue link */
  .cart-continue-link {
    font-size: 12px;
    margin-top: 14px;
    display: block;
    text-align: center;
  }

}









/* ══════════════════════




   CART ITEM RESTRUCTURED (desktop + mobile)




══════════════════════ */







/* ══════════════════════
   CART — DESKTOP LAYOUT
══════════════════════ */

/* Column headers */
.cart-col-headers {
  display: flex;
  align-items: center;
  gap: 24px;
  padding-bottom: 14px;
  border-bottom: 2px solid #111;
  margin-bottom: 0;
}
.cart-col-headers span {
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #999;
  font-weight: 500;
  flex-shrink: 0;
}
.cart-col-headers .col-product  { flex: 1; flex-shrink: 1; }
.cart-col-headers .col-qty      { width: 120px; text-align: center; }
.cart-col-headers .col-price    { width: 90px;  text-align: right; }
.cart-col-headers .col-remove   { width: 36px; }

/* Cart item row — flex so .cart-item-top takes all available space */
.cart-item {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 22px 0;
  border-bottom: 1px solid #ebebeb;
  position: relative;
}
.cart-item:last-child { border-bottom: none; }

/* TOP: image + details — takes all remaining width */
.cart-item-top {
  display: flex !important;
  align-items: center;
  gap: 20px;
  flex: 1;
  min-width: 0;
}

/* BOTTOM: qty + subtotal — fixed width to match headers */
.cart-item-bottom {
  display: flex !important;
  align-items: center;
  gap: 24px;
  flex-shrink: 0;
}

.cart-item-img {
  width: 130px;
  height: 168px;
  flex-shrink: 0;
  overflow: hidden;
  background: #f5f5f3;
}
.cart-item-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cart-item-img a   { display: block; width: 100%; height: 100%; }

.cart-item-details {
  flex: 1;
  min-width: 0;
  padding-right: 8px;
}

/* Qty: centered, matches header width */
.cart-item-qty {
  width: 120px;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.cart-item-qty .quantity {
  display: flex;
  align-items: center;
  border: 1px solid #ddd;
  background: #fff;
}
.cart-item-qty .quantity input.qty {
  width: 44px;
  height: 40px;
  border: none;
  text-align: center;
  font-size: 14px;
  background: transparent;
  outline: none;
  -moz-appearance: textfield;
}
.cart-item-qty .quantity input.qty::-webkit-inner-spin-button,
.cart-item-qty .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; }

/* Stepper +/- buttons */
.qty-stepper-btn {
  background: none;
  border: none;
  width: 28px;
  height: 40px;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  color: #888;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  flex-shrink: 0;
  transition: background .15s, color .15s;
}
.qty-stepper-btn:hover { background: #f5f5f3; color: #111; }

/* Subtotal: matches header width */
.cart-item-subtotal {
  width: 90px;
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 600;
  color: #111;
  text-align: right;
  white-space: nowrap;
}

/* Remove */
.cart-remove {
  width: 36px;
  flex-shrink: 0;
  text-align: center;
  font-size: 18px;
  color: #ccc;
  text-decoration: none;
  line-height: 1;
  transition: color .15s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cart-remove:hover { color: #111; }


/* Wishlist icon — visible on both desktop and mobile */
.h-wish-li { display: flex; align-items: center; }
@media (max-width: 768px) {
  .h-wish-li { display: flex !important; }
}


/* Cart icon — matches other header icons */
.cart-icon-svg { stroke: #fff; color: #fff; }
.site-header.solid .cart-icon-svg { stroke: #111; color: #111; }

/* Wishlist icon link — same style as other h-icon elements */
a.h-wish-icon { cursor: pointer; text-decoration: none; }
a.h-wish-icon svg { pointer-events: none; }

/* Cat-strip: ensure clicks always work */
.cat-icon-item { pointer-events: all; cursor: pointer; }









/* Hero — desktop image shift left (safe %) */




.slide img,




.slide picture img {




  object-position: 25% center;




}

/* Slide 1 — visual split centered under logo */
.hero-slider .slide:first-child img,
.hero-slider .slide:first-child picture img {
  object-position: 61% center;
}






/* ══ HERO FULL WIDTH FIX ══ */

.hero-slider {

  width: 100% !important;

  max-width: none !important;

  left: 0 !important;

  right: 0 !important;

  margin-left: 0 !important;

  margin-right: 0 !important;

}

.hero-slider .slide {

  width: 100% !important;

  left: 0 !important;

  right: 0 !important;

}

.hero-slider .slide picture,

.hero-slider .slide picture img {

  width: 100% !important;

  max-width: none !important;

}


/* ══════════════════════════════════════════════════════
   ПРАВКИ v4.0 — Бургер, Слайдер-точки, Карусели, Сетка
══════════════════════════════════════════════════════ */

/* ── Жирнее шрифты в десктопном меню ── */
.h-nav a {
  font-weight: 500 !important;
  font-size: 12px !important;
  letter-spacing: .12em !important;
}

/* ── Burger button (mobile only) ── */
.burger-btn {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  padding: 6px;
  cursor: pointer;
  z-index: 210;
  flex-shrink: 0;
}
.burger-btn span {
  display: block;
  height: 1.5px;
  width: 22px;
  background: #fff;
  border-radius: 2px;
  transition: background .3s;
}
.site-header.solid .burger-btn span { background: #111; }

/* ── Mobile Nav Drawer ── */
.mobile-nav-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 490;
  opacity: 0;
  transition: opacity .3s ease;
}
.mobile-nav-overlay.open { display: block; opacity: 1; }

.mobile-nav {
  position: fixed;
  top: 0; left: 0; bottom: 0;
  width: 280px;
  background: #fff;
  z-index: 500;
  transform: translateX(-100%);
  transition: transform .32s cubic-bezier(.25,.46,.45,.94);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}
.mobile-nav.open { transform: translateX(0); }

.mobile-nav-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 20px 16px;
  border-bottom: 1px solid #efefef;
}
.mobile-nav-logo img { height: 28px; width: auto; }
.mobile-nav-close {
  background: none;
  border: none;
  font-size: 18px;
  color: #666;
  cursor: pointer;
  padding: 4px 8px;
  line-height: 1;
}

.mobile-nav-links {
  list-style: none;
  padding: 12px 0;
  flex: 1;
}
.mobile-nav-links li { border-bottom: 1px solid #f5f5f5; }
.mobile-nav-links a {
  display: block;
  padding: 15px 24px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .06em;
  color: #111;
  text-transform: uppercase;
  transition: color .2s, background .2s;
}
.mobile-nav-links a:hover { color: #255311; background: #fafafa; }

.mobile-nav-footer {
  padding: 20px 24px;
  border-top: 1px solid #efefef;
}
.mobile-nav-ig {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #555;
  text-decoration: none;
  transition: color .2s;
}
.mobile-nav-ig:hover { color: #111; }

/* ── Slider: dots instead of bars ── */
.slider-dots {
  position: absolute;
  bottom: 55px;
  left: 60px;
  display: flex;
  gap: 12px;
  z-index: 10;
}
.slider-dot {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,.35);
  border: 2px solid rgba(255,255,255,.8);
  cursor: pointer;
  padding: 0;
  transition: background .3s, transform .3s;
}
.slider-dot.active {
  background: #fff;
  transform: scale(1.25);
}
/* Click zones prev/next */
.slide-zone {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50%;
  z-index: 5;
  cursor: pointer;
}
.slide-zone-prev { left: 0; }
.slide-zone-next { right: 0; }

/* ── Carousel wrapper ── */
.prod-carousel-wrap {
  overflow: hidden; /* clip the scrollbar on desktop */
}

/* ── Kategorie: horizontal on mobile ── */
@media (max-width: 768px) {
  .cat-strip { padding: 36px 0 28px; }
  .cat-strip-head { padding: 0 20px; margin-bottom: 16px; }
  .cat-icons {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 0;
    padding: 0 20px;
    padding-right: 0; /* let last item peek */
    scrollbar-width: none;
  }
  .cat-icons::-webkit-scrollbar { display: none; }
  .cat-icon-item {
    flex: 0 0 28vw;
    scroll-snap-align: start;
    border-right: 1px solid #efefef !important;
    padding: 16px 0 !important;
    min-width: 100px;
  }
  .cat-icon-item:last-child { margin-right: 20px; }
}

/* ── New In + Bestsellers carousel on mobile ── */
@media (max-width: 768px) {
  .prod-carousel-wrap {
    overflow: visible;
    position: relative;
  }
  .prod-carousel-wrap::after {
    content: '';
    position: absolute;
    top: 0; right: 0; bottom: 0;
    width: 32px;
    background: linear-gradient(to right, transparent, rgba(255,255,255,.85));
    pointer-events: none;
    z-index: 2;
  }
  .prod-grid.prod-carousel {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 14px;
    padding: 0 20px;
    padding-right: 0; /* last card partially hidden */
    grid-template-columns: none !important;
    scrollbar-width: none;
    min-height: 0;
  }
  .prod-grid.prod-carousel::-webkit-scrollbar { display: none; }
  .prod-grid.prod-carousel .prod-card {
    flex: 0 0 72vw;
    scroll-snap-align: start;
    max-width: 300px;
  }
  .prod-grid.prod-carousel .prod-card:last-child { margin-right: 20px; }
}



/* ── Unified mobile grid padding (20px sides) ── */
@media (max-width: 768px) {
  .sec-hd { padding: 40px 20px 16px; }
  .prod-grid:not(.prod-carousel) { padding: 0 20px; }
  .editorial { padding: 60px 20px; gap: 32px; }
  .reviews-section { padding: 60px 20px; }
  .newsletter { padding: 60px 20px; }
  .instagram-section { padding: 60px 0 0; }
  .instagram-head { padding: 0 20px 28px; }
}

/* ── Instagram button mobile fix ── */
@media (max-width: 768px) {
  .ig-follow-btn {
    padding: 10px 18px !important;
    font-size: 10px !important;
    letter-spacing: .10em !important;
    white-space: nowrap !important;
    gap: 6px !important;
  }
  .ig-follow-btn svg { flex-shrink: 0; }
  .instagram-head {
    flex-wrap: wrap;
    gap: 16px;
  }
}

/* ── Button «Dodaj do koszyka» color → #A1A584 ── */
.add-btn::before { background: #A1A584 !important; }
.add-btn:hover { color: #fff !important; }
.size-btn.sel,
.size-btn:active { background: #A1A584 !important; color: #fff !important; border-color: #A1A584 !important; }

/* ── Mobile header layout ── */
@media (max-width: 768px) {
  .h-nav-left { display: none !important; }
  .h-desktop-only { display: none !important; }
  .burger-btn { display: flex !important; }
  .header-inner {
    display: grid !important;
    grid-template-columns: 48px 1fr auto !important;
    gap: 0 !important;
  }
  .h-logo { text-align: center; }
  .h-logo img { height: 44px; }
  .h-nav-right { gap: 12px !important; }
  .site-header { padding: 0 16px !important; }
}


/* ── Kolekcja: disable sticky-scroll on mobile ── */
@media (max-width: 768px) {
  
}

/* ── Footer mobile: single column on phones ── */
@media (max-width: 600px) {
  .footer-grid { grid-template-columns: 1fr !important; gap: 32px; }
  .site-footer { padding: 48px 20px 32px; }
  .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }
  .footer-legal { justify-content: center; flex-wrap: wrap; gap: 16px; }
}

/* ── Reviews mobile ── */
@media (max-width: 600px) {
  .reviews-grid { grid-template-columns: 1fr !important; }
  .reviews-section { padding: 48px 20px; }
}

/* ── Editorial (brand story) mobile ── */
@media (max-width: 600px) {
  .editorial { padding: 48px 20px !important; flex-direction: column; }
  .editorial-img { min-height: 260px !important; }
  .editorial-title { font-size: clamp(28px, 8vw, 44px); }
}

/* ── Instagram grid mobile: 2 columns ── */
@media (max-width: 600px) {
  .ig-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ── Slider dots mobile: lower position ── */
@media (max-width: 768px) {
  .slider-dots { bottom: 35px; left: 24px; }
  .slider-dot { width: 12px; height: 12px; }
  .slide-zone { display: none; } /* use swipe on mobile, not zones */
}

/* ── Prod-grid non-carousel mobile: 2 col with proper gaps ── */
@media (max-width: 600px) {
  .prod-grid:not(.prod-carousel) {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    padding: 0 16px !important;
  }
  .prod-grid.prod-carousel .prod-card { flex: 0 0 78vw; }
  .cat-icon-item { flex: 0 0 33vw; }
}

/* ── Newsletter mobile ── */
@media (max-width: 600px) {
  .nl-form { flex-direction: column; gap: 10px; }
  .nl-input { width: 100%; }
  .nl-btn { width: 100%; }
}

/* ── Kolekcja mobile: full-width photo card + animated title ── */
@media (max-width: 768px) {
  /* Kill desktop sticky-scroll mechanics */
  .coll-section {
    position: relative !important;
    height: 88vw !important;
    min-height: 300px !important;
    max-height: 480px !important;
    overflow: hidden !important;
    margin-bottom: 0 !important;
  }
  .coll-divider { display: none !important; }
  .coll-section + .coll-divider { display: none !important; margin-top: 0 !important; position: static !important; }

  /* Photos: one full-bleed photo filling the card */
  .coll-photos {
    position: absolute !important;
    inset: 0 !important;
    height: 100% !important;
    display: block !important;
    grid-template-columns: unset !important;
  }
  .coll-photo {
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
  }
  .coll-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
  }
  .coll-photo-second { display: none !important; }

  /* Sticky → centered overlay */
  .coll-sticky {
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 20px !important;
    pointer-events: none !important;
    z-index: 5 !important;
    background: linear-gradient(to bottom, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.35) 100%) !important;
  }
  .coll-shop-link {
    pointer-events: auto !important;
    color: #fff !important;
    font-size: 11px !important;
    letter-spacing: .18em !important;
    margin-top: 16px !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.6) !important;
    padding-bottom: 2px !important;
  }

  /* Big animated title */
  .coll-bg-title {
    font-size: clamp(36px, 11vw, 58px) !important;
    color: #fff !important;
    text-align: center !important;
    width: 100% !important;
    animation: collTitleIn 0.9s cubic-bezier(.22,.68,0,1.2) forwards !important;
    opacity: 0 !important;
    letter-spacing: .16em !important;
    text-shadow: 0 2px 32px rgba(0,0,0,0.3) !important;
  }

  @keyframes collTitleIn {
    0%   { opacity: 0; transform: translateY(18px) scale(0.97); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
  }
}

/* ── Desktop: both collections visible. Mobile: Wiosna hidden, Lato only ── */
@media (max-width: 768px) {
  .coll-wiosna { display: none !important; }
  /* Also hide the divider between collections on mobile */
  .coll-divider { display: none !important; }
}


/* ════════════════════════════════════════════════════════════
   COMPREHENSIVE MOBILE FIX — overrides all desktop rules
   (added last so cascade priority is highest)
   ════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* ── 1. HEADER: grid layout, burger left, logo center ── */
  .header-inner {
    display: grid !important;
    grid-template-columns: 48px 1fr auto !important;
    align-items: center !important;
    gap: 0 !important;
  }
  .h-nav-left        { display: none !important; }
  .h-desktop-only    { display: none !important; }
  .burger-btn        { display: flex !important; }
  .h-logo            { text-align: center !important; }
  .h-logo img        { height: 35px !important; }
  .h-nav-right       { gap: 12px !important; }
  .site-header       { padding: 0 16px !important; }

  /* ── 2. CRITICAL: Kill desktop sticky-scroll negative margins ── */
  /* These rules pull sections up by 91vh on desktop — must be 0 on mobile */
  .coll-section + .coll-divider {
    display: none !important;
    margin-top: 0 !important;
    position: static !important;
    z-index: auto !important;
  }
  .coll-section + .coll-divider + .coll-section {
    position: static !important;
    z-index: auto !important;
    margin-top: 0 !important;
  }
  .coll-section + .coll-divider + .coll-section + .sec-hd {
    margin-top: 0 !important;
    position: static !important;
    z-index: auto !important;
  }

  /* ── 3. KOLEKCJA MOBILE: full-bleed photo + text overlay ── */
  .coll-wiosna { display: none !important; }
  .coll-divider { display: none !important; }

  .coll-section {
    position: relative !important;
    height: 90vw !important;
    min-height: 300px !important;
    max-height: 500px !important;
    overflow: hidden !important;
    margin-bottom: 0 !important;
  }
  .coll-photos {
    position: absolute !important;
    inset: 0 !important;
    height: 100% !important;
    display: block !important;
    grid-template-columns: unset !important;
  }
  .coll-photo {
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
  }
  .coll-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
  }
  .coll-photo-second { display: none !important; }

  .coll-sticky {
    position: absolute !important;
    inset: 0 !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 20px !important;
    pointer-events: none !important;
    z-index: 5 !important;
    background: linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.38) 100%) !important;
  }
  .coll-bg-title {
    font-size: clamp(34px, 10.5vw, 56px) !important;
    color: #fff !important;
    text-align: center !important;
    width: 100% !important;
    letter-spacing: .16em !important;
    text-shadow: 0 2px 24px rgba(0,0,0,.28) !important;
    opacity: 1 !important;
    animation: collTitleFade .8s ease forwards !important;
  }
  @keyframes collTitleFade {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  .coll-shop-link {
    pointer-events: auto !important;
    color: #fff !important;
    font-size: 11px !important;
    letter-spacing: .18em !important;
    margin-top: 14px !important;
    border-bottom: 1px solid rgba(255,255,255,.55) !important;
    padding-bottom: 2px !important;
    text-decoration: none !important;
  }

  /* ── 4. HERO SLIDER: dots + no click-zones on mobile ── */
  .slider-dots    { bottom: 35px !important; left: 24px !important; }
  .slider-dot     { width: 24px !important; height: 24px !important; }
  .slide-zone     { display: none !important; }

  /* ── 5. CAROUSELS: horizontal scroll ── */
  .prod-carousel-wrap { overflow: visible !important; }
  .prod-grid.prod-carousel {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 14px !important;
    padding: 0 20px !important;
    grid-template-columns: none !important;
    scrollbar-width: none !important;
  }
  .prod-grid.prod-carousel::-webkit-scrollbar { display: none !important; }
  .prod-grid.prod-carousel .prod-card {
    flex: 0 0 78vw !important;
    scroll-snap-align: start !important;
    max-width: 300px !important;
  }

  /* ── 6. CATEGORY STRIP: horizontal scroll ── */
  .cat-icons {
    display: flex !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    padding: 0 20px !important;
    gap: 0 !important;
    scrollbar-width: none !important;
  }
  .cat-icons::-webkit-scrollbar { display: none !important; }
  .cat-icon-item {
    flex: 0 0 30vw !important;
    scroll-snap-align: start !important;
    min-width: 100px !important;
  }

  /* ── 7. PRODUCT GRID (non-carousel): 2 columns ── */
  .prod-grid:not(.prod-carousel) {
    grid-template-columns: repeat(2, 1fr) !important;
    padding: 0 16px !important;
    gap: 12px !important;
  }

  /* ── 8. EDITORIAL: single column ── */
  .editorial {
    grid-template-columns: 1fr !important;
    flex-direction: column !important;
    padding: 48px 20px !important;
    gap: 28px !important;
  }
  .editorial-img  { min-height: 260px !important; }

  /* ── 9. SECTION HEADINGS padding ── */
  .sec-hd { padding: 40px 20px 16px !important; }

  /* ── 10. INSTAGRAM ── */
  .instagram-section { padding: 60px 0 0 !important; }
  .instagram-head    { padding: 0 20px 28px !important; flex-wrap: wrap !important; gap: 16px !important; }
  .ig-grid           { grid-template-columns: repeat(2, 1fr) !important; }
  .ig-follow-btn {
    padding: 10px 18px !important;
    font-size: 10px !important;
    letter-spacing: .10em !important;
    white-space: nowrap !important;
    gap: 6px !important;
  }

  /* ── 11. REVIEWS ── */
  .reviews-section  { padding: 48px 20px !important; }
  .reviews-grid     { grid-template-columns: 1fr !important; }

  /* ── 12. NEWSLETTER ── */
  .newsletter        { padding: 60px 20px !important; }
  .nl-form           { flex-direction: column !important; gap: 10px !important; }
  .nl-input          { width: 100% !important; }
  .nl-btn            { width: 100% !important; }

  /* ── 13. HEADER: account icon on mobile ── */
  .h-account-mobile  { display: flex !important; align-items: center !important; }

  /* ── 14. QUICK-ADD: always visible on mobile (touch) ── */
  .quick-add {
    transform: translateY(0) !important;
    opacity: 1 !important;
  }

  /* ── 15. MOBILE NAV: language switcher ── */
  .mobile-nav-lang {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 14px 28px !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    margin-top: 8px !important;
  }
  .mobile-nav-lang-label {
    font-size: 10px !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,.5) !important;
    margin-right: 4px !important;
  }
  .mobile-lang-btn {
    background: transparent !important;
    border: 1px solid rgba(255,255,255,.3) !important;
    color: rgba(255,255,255,.7) !important;
    font-size: 11px !important;
    letter-spacing: .12em !important;
    padding: 5px 10px !important;
    cursor: pointer !important;
    font-family: 'Inter', sans-serif !important;
    transition: background .2s, color .2s !important;
    text-transform: uppercase !important;
  }
  .mobile-lang-btn.active,
  .mobile-lang-btn:hover {
    background: rgba(255,255,255,.18) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.7) !important;
  }

  /* ── 16. MOBILE NAV: account link ── */
  .mobile-nav-account {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 14px 28px !important;
    font-size: 13px !important;
    letter-spacing: .06em !important;
    color: rgba(255,255,255,.85) !important;
    text-decoration: none !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    transition: color .2s !important;
  }
  .mobile-nav-account:hover { color: #fff !important; }
}

/* ── FOOTER: single column under 600px ── */
@media (max-width: 600px) {
  .footer-grid   { grid-template-columns: 1fr !important; gap: 32px !important; }
  .site-footer   { padding: 48px 20px 32px !important; }
  .footer-bottom { flex-direction: column !important; gap: 12px !important; text-align: center !important; }
  .footer-legal  { justify-content: center !important; flex-wrap: wrap !important; gap: 16px !important; }
}

/* ── Hero slider: ensure full height on all mobile browsers ── */
@media (max-width: 768px) {
  .hero-slider {
    position: relative !important;
    height: 100vh !important;
    height: 100svh !important;
    overflow: hidden !important;
    display: block !important;
  }
  .hero-slider .slide {
    position: absolute !important;
    inset: 0 !important;
    opacity: 0 !important;
    transition: opacity .85s ease !important;
  }
  .hero-slider .slide.active {
    opacity: 1 !important;
  }
}


/* ═══════════════════════════════════════════════
   PATCH v5.2 — Free Shipping Bar, Cart Popup,
   Checkout, Wishlist page
   ═══════════════════════════════════════════════ */

/* — Hide WooCommerce Free Shipping Bar plugin — */
#woo-free-shipping-bar,
.woo-free-shipping-bar,
[id*="free-shipping-bar"],
[class*="free-shipping-bar"],
.woo_fsbar_main_wrapper,
#wfsbSection,
.wfspb-lining-layer,
[class*="wfspb"],
[id*="wfspb"] { display: none !important; }

/* ─── Add-to-Cart Popup modal ─────────────────── */
.atc-popup-overlay {
  position: fixed; inset: 0; z-index: 99999;
  background: rgba(0,0,0,.45);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none;
  transition: opacity .28s ease;
}
.atc-popup-overlay.open {
  opacity: 1; pointer-events: all;
}
.atc-popup {
  background: #fff; color: #111;
  border-radius: 4px;
  padding: 36px 40px 32px;
  max-width: 420px; width: 92%;
  box-shadow: 0 12px 48px rgba(0,0,0,.2);
  transform: translateY(12px);
  transition: transform .28s ease;
  position: relative;
  text-align: center;
}
.atc-popup-overlay.open .atc-popup {
  transform: translateY(0);
}
.atc-popup-close {
  position: absolute; top: 12px; right: 16px;
  background: none; border: none; font-size: 20px;
  cursor: pointer; color: #666; line-height: 1;
}
.atc-popup-icon {
  width: 52px; height: 52px;
  background: #A1A584; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 16px;
}
.atc-popup-icon svg { stroke: #fff; width: 26px; height: 26px; }
.atc-popup h3 {
  font-size: 18px; font-weight: 600; letter-spacing: .04em;
  margin: 0 0 8px; text-transform: uppercase;
}
.atc-popup p {
  font-size: 14px; color: #555; margin: 0 0 24px;
}
.atc-popup-btns {
  display: flex; gap: 10px; justify-content: center; flex-wrap: wrap;
}
.atc-popup-btns a, .atc-popup-btns button {
  flex: 1; min-width: 140px;
  display: inline-block;
  padding: 12px 20px;
  font-size: 13px; font-weight: 600; letter-spacing: .08em;
  text-transform: uppercase; text-decoration: none;
  border-radius: 2px; cursor: pointer;
  transition: background .2s, color .2s, border-color .2s;
}
.atc-popup-cart {
  background: #111; color: #fff !important; border: 1.5px solid #111;
}
.atc-popup-cart:hover { background: #333; border-color: #333; }
.atc-popup-continue {
  background: transparent; color: #111 !important;
  border: 1.5px solid #111;
}
.atc-popup-continue:hover { background: #f5f5f5; }

/* ─── Checkout page — Dane płatności ──────────── */
.woocommerce-checkout #customer_details,
.woocommerce form.checkout {
  max-width: 900px; margin: 0 auto;
}
.woocommerce-checkout .col2-set {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 40px !important;
  align-items: start;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
  float: none !important; width: 100% !important;
}
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  max-width: 900px; margin: 0 auto;
}
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3 {
  font-size: 16px; letter-spacing: .1em; text-transform: uppercase;
  margin-bottom: 20px; font-weight: 600;
  padding-bottom: 8px; border-bottom: 1px solid #e0e0e0;
}
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  border: 1px solid #d0d0d0 !important; border-radius: 2px !important;
  padding: 11px 14px !important; font-size: 14px !important;
  width: 100% !important; box-sizing: border-box !important;
  transition: border-color .2s;
}
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus {
  border-color: #A1A584 !important; outline: none !important;
}
@media (max-width: 768px) {
  .woocommerce-checkout .col2-set {
    grid-template-columns: 1fr !important; gap: 20px !important;
  }
}

/* ─── Wishlist page — Lista życzeń ────────────── */
.woocommerce-wishlist .woocommerce,
.yith-wcwl-wishlist-page .woocommerce {
  max-width: 1100px; margin: 80px auto; padding: 0 24px;
}
.wishlist_table.shop_table {
  width: 100% !important; border-collapse: collapse;
  font-size: 14px;
}
.wishlist_table thead th {
  text-transform: uppercase; letter-spacing: .1em;
  font-size: 12px; font-weight: 600; color: #888;
  border-bottom: 1px solid #e0e0e0; padding: 0 0 12px;
}
.wishlist_table tbody td {
  padding: 20px 12px; vertical-align: middle;
  border-bottom: 1px solid #f0f0f0;
}
.wishlist_table .product-thumbnail img {
  width: 80px; height: 100px; object-fit: cover; border-radius: 2px;
}
.wishlist_table .product-name a {
  color: #111; text-decoration: none; font-weight: 500;
  letter-spacing: .02em;
}
.wishlist_table .product-name a:hover { color: #A1A584; }
.wishlist_table .add-to-cart-button .button,
.wishlist_table .product-add-to-cart a {
  background: #111 !important; color: #fff !important;
  border: none !important; padding: 10px 20px !important;
  font-size: 12px !important; letter-spacing: .08em !important;
  text-transform: uppercase !important; border-radius: 2px !important;
  cursor: pointer; text-decoration: none !important;
  display: inline-block; transition: background .2s;
}
.wishlist_table .add-to-cart-button .button:hover,
.wishlist_table .product-add-to-cart a:hover { background: #A1A584 !important; }
.wishlist_table .product-remove a {
  color: #bbb; font-size: 18px; text-decoration: none;
}
.wishlist_table .product-remove a:hover { color: #e00; }
/* Empty wishlist state */
.yith-wcwl-wishlist-page .cart-empty,
.yith-wcwl-wishlist-page .woocommerce-info {
  text-align: center; padding: 60px 20px;
  font-size: 16px; color: #888; letter-spacing: .04em;
}
/* Wishlist share buttons */
.yith-wcwl-share { margin-top: 24px; }
/* Page title */
.woocommerce-wishlist h1,
.yith-wcwl-wishlist-page h1 {
  text-align: center; font-size: 32px; letter-spacing: .15em;
  text-transform: uppercase; margin-bottom: 48px; font-weight: 400;
}
@media (max-width: 600px) {
  .wishlist_table thead { display: none; }
  .wishlist_table tbody td { display: block; border: none; padding: 8px 0; }
  .wishlist_table tbody tr { border-bottom: 1px solid #f0f0f0; padding: 16px 0; display: block; }
}

/* ═══════════════════════════════════════════════
   PATCH v5.4 — Hero, Wishlist badge, Checkout,
   Catalogue pagination, Lang switcher
   ═══════════════════════════════════════════════ */

/* — Pagination: remove list bullets from <ul><li> — */
.arch-pagination ul { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; }
.arch-pagination li { list-style: none !important; }
.arch-pagination li::before,
.arch-pagination li::marker { display: none !important; content: none !important; }

/* — Hero desktop: image starts right at ticker bar bottom,
   full image visible (contain), no gray strip.
   Ticker = 34px, header = 66px (transparent overlay on hero). — */
@media (min-width: 769px) {
  .hero-slider {
    margin-top: 34px !important;
    height: clamp(420px, 42.3vw, calc(100vh - 34px)) !important;
  }
  .hero-slider .slide img,
  .hero-slider .slide picture img {
    object-fit: contain !important;
    object-position: center top !important;
  }
  .hero-slider .slide { background: #f0ede8; }
}

/* — Wishlist heart badge — */
.h-wish-icon { position: relative !important; }
.wish-dot {
  position: absolute; top: -6px; right: -9px;
  min-width: 17px; height: 17px; border-radius: 50%;
  background: #A1A584; color: #fff;
  font-size: 10px; font-weight: 600; line-height: 17px;
  text-align: center; padding: 0 3px;
  pointer-events: none; display: none;
}
.wish-dot.visible { display: block; }
.prod-wish.in-wishlist svg { fill: #111 !important; stroke: #111 !important; }

/* — Catalogue pagination — */
.arch-pagination {
  display: flex; justify-content: center; gap: 6px;
  padding: 48px 0 60px; flex-wrap: wrap;
}
.arch-pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 38px; height: 38px; padding: 0 10px;
  border: 1px solid #ddd; font-size: 13px;
  color: #111; text-decoration: none; letter-spacing: .04em;
  transition: background .18s, border-color .18s;
}
.arch-pagination .page-numbers:hover { background: #f5f5f5; }
.arch-pagination .page-numbers.current {
  background: #111; color: #fff; border-color: #111;
}
.arch-pagination .page-numbers.dots { border: none; padding: 0 4px; }

/* — Checkout redesign: fix broken outer grid — */
/* Kill the old broken grid on .woocommerce wrapper */
.woocommerce-checkout .woocommerce {
  display: block !important;
  max-width: 1100px !important; margin: 0 auto !important;
}
/* Reset v5.2 conflicting max-width */
.woocommerce-checkout #customer_details { max-width: none !important; }
.woocommerce form.checkout { max-width: none !important; margin: 0 !important; }

/* Proper grid on the form itself */
.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: 1fr 380px !important;
  column-gap: 60px !important;
  align-items: start !important;
}
/* Place children into grid areas */
.woocommerce-checkout #customer_details {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
}
.woocommerce-checkout #order_review_heading {
  grid-column: 2 !important;
  grid-row: 1 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important; letter-spacing: .12em !important;
  text-transform: uppercase !important; font-weight: 600 !important;
  padding-bottom: 12px !important; border-bottom: 1px solid #e0e0e0 !important;
  margin-bottom: 0 !important;
}
.woocommerce-checkout #order_review {
  grid-column: 2 !important;
  grid-row: 2 !important;
}
/* Billing: single full-width column (not split 50/50) */
.woocommerce-checkout .col2-set {
  display: block !important;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
  width: 100% !important; float: none !important; clear: both !important;
}
/* Half-width first/last fields (first name / last name) */
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
  width: calc(50% - 9px) !important;
  display: inline-block !important;
  vertical-align: top !important;
}
.woocommerce-checkout .form-row-first { margin-right: 18px !important; }
/* Clear floats properly */
.woocommerce-checkout .woocommerce-billing-fields::after,
.woocommerce-checkout .woocommerce-shipping-fields::after,
.woocommerce-checkout .col-1::after,
.woocommerce-checkout .col-2::after {
  content: ''; display: table; clear: both;
}
/* Section headers */
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3 {
  font-size: 13px !important; letter-spacing: .12em !important;
  text-transform: uppercase !important; font-weight: 600 !important;
  font-family: 'Inter', sans-serif !important;
  margin: 0 0 24px !important; padding-bottom: 12px !important;
  border-bottom: 1px solid #e0e0e0 !important;
}
/* Form inputs */
.woocommerce-checkout .form-row { margin-bottom: 16px !important; }
.woocommerce-checkout .form-row label {
  display: block !important;
  font-size: 11px !important; letter-spacing: .08em !important;
  text-transform: uppercase !important; color: #666 !important;
  margin-bottom: 7px !important;
}
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  width: 100% !important; box-sizing: border-box !important;
  border: 1px solid #d5d5d5 !important; border-radius: 1px !important;
  padding: 12px 14px !important; font-size: 14px !important;
  font-family: inherit !important; outline: none !important;
  transition: border-color .15s !important; background: #fff !important;
}
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus {
  border-color: #111 !important;
}
/* Order review table */
.woocommerce-checkout .woocommerce-checkout-review-order-table {
  width: 100% !important; border-collapse: collapse !important;
  font-size: 13px !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  padding: 10px 0 !important; border-bottom: 1px solid #f0f0f0 !important;
  vertical-align: middle !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th {
  font-weight: 600 !important; font-size: 14px !important;
  border-top: 1px solid #111 !important; padding-top: 14px !important;
}
/* Payment box */
.woocommerce-checkout #payment {
  background: #f8f8f8 !important;
  padding: 24px !important; margin-top: 24px !important;
  border-radius: 2px !important;
}
.woocommerce-checkout #payment ul.payment_methods { margin: 0 0 20px !important; padding: 0 !important; list-style: none !important; }
.woocommerce-checkout #payment ul.payment_methods li { margin-bottom: 12px !important; }
/* Place order button */
.woocommerce-checkout #place_order {
  width: 100% !important; background: #111 !important; color: #fff !important;
  border: none !important; padding: 16px !important;
  font-size: 12px !important; letter-spacing: .12em !important;
  text-transform: uppercase !important; cursor: pointer !important;
  font-family: 'Inter', sans-serif !important; font-weight: 600 !important;
  transition: background .2s !important; border-radius: 1px !important;
}
.woocommerce-checkout #place_order:hover { background: #2a2a2a !important; }
/* Mobile: stack */
@media (max-width: 860px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
    column-gap: 0 !important;
  }
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    grid-column: 1 !important; grid-row: auto !important;
  }
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last {
    width: 100% !important; display: block !important; margin-right: 0 !important;
  }
}
