/*
Theme Name: Tulico Atelier
Theme URI: https://tulico.com/
Author: Tulico
Description: Lightweight editorial WooCommerce theme for Tulico modest wear.
Version: 1.1.3
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: tulico
*/

:root {
  --tulico-ink: #172f34;
  --tulico-teal: #0d3b45;
  --tulico-mid: #287c86;
  --tulico-aqua: #a7d2d6;
  --tulico-ivory: #f5efe6;
  --tulico-paper: #fffdf9;
  --tulico-blush: #f2c7c9;
  --tulico-maroon: #7b0f1a;
  --tulico-muted: #63777a;
  --tulico-line: rgba(13, 59, 69, .14);
  --tulico-shadow: 0 20px 60px rgba(13, 59, 69, .10);
  --tulico-glass: rgba(255, 253, 249, .58);
  --tulico-glass-strong: rgba(255, 253, 249, .78);
  --tulico-glass-border: rgba(255, 255, 255, .68);
  --tulico-glass-shadow: 0 24px 70px rgba(13, 59, 69, .14), inset 0 1px 0 rgba(255,255,255,.78);
  --tulico-ease: cubic-bezier(.16, 1, .3, 1);
  --tulico-radius: 1.5rem;
  --font-display: "Playfair Display", Georgia, serif;
  --font-body: "Manrope", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--tulico-ink);
  background: var(--tulico-ivory);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  position: relative;
  isolation: isolate;
  overflow-x: clip;
}
body::before, body::after { content:""; position:fixed; z-index:-1; pointer-events:none; border-radius:50%; filter:blur(4px); opacity:.42; }
body::before { width:min(48vw,650px); aspect-ratio:1; left:-18vw; top:12vh; background:radial-gradient(circle at 60% 45%,rgba(167,210,214,.9),rgba(242,199,201,.18) 52%,transparent 72%); animation:tulico-orbit 18s ease-in-out infinite alternate; }
body::after { width:min(42vw,560px); aspect-ratio:1; right:-16vw; top:55vh; background:radial-gradient(circle at 45% 50%,rgba(242,199,201,.72),rgba(40,124,134,.12) 55%,transparent 74%); animation:tulico-orbit 22s ease-in-out infinite alternate-reverse; }
[dir="rtl"] body { font-family:"Cairo",var(--font-body); }
[dir="rtl"] .eyebrow { letter-spacing:.04em; }
[dir="rtl"] .policy-callout { border-left:0; border-right:4px solid var(--tulico-mid); border-radius:1rem 0 0 1rem; }
body.admin-bar .site-header { top: 32px; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
img { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid var(--tulico-mid); outline-offset: 3px; }

.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip-link:focus { position: fixed !important; width: auto; height: auto; clip: auto; top: 1rem; left: 1rem; z-index: 99999; background: #fff; padding: .75rem 1rem; }
.container { width: min(1180px, calc(100% - 2rem)); margin-inline: auto; }
.narrow { width: min(760px, calc(100% - 2rem)); margin-inline: auto; }
.section { padding: clamp(4rem, 8vw, 7.5rem) 0; }
.section--paper { background: var(--tulico-paper); }
.section--teal { background: var(--tulico-teal); color: #fff; }
.eyebrow { margin: 0 0 .85rem; color: var(--tulico-mid); font-size: .75rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.section--teal .eyebrow { color: var(--tulico-aqua); }
h1, h2, h3, h4 { margin: 0 0 .75em; color: var(--tulico-teal); font-family: var(--font-display); line-height: 1.08; font-weight: 600; }
h1 { font-size: clamp(2.8rem, 7vw, 6rem); letter-spacing: -.045em; }
h2 { font-size: clamp(2rem, 4.2vw, 3.8rem); letter-spacing: -.035em; }
h3 { font-size: clamp(1.3rem, 2vw, 1.8rem); }
.section--teal h1, .section--teal h2, .section--teal h3 { color: #fff; }
.lede { max-width: 62ch; color: var(--tulico-muted); font-size: clamp(1.05rem, 2vw, 1.25rem); }
.section--teal .lede { color: rgba(255,255,255,.78); }
.button, .wp-element-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
  display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: .55rem;
  border: 1px solid var(--tulico-teal); border-radius: 999px; padding: .82rem 1.35rem;
  background: var(--tulico-teal); color: #fff; font-size: .82rem; font-weight: 800; letter-spacing: .07em;
  line-height: 1; text-decoration: none; text-transform: uppercase; transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.button:hover, .wp-element-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--tulico-maroon); border-color: var(--tulico-maroon); color: #fff; transform: translateY(-2px); box-shadow: 0 10px 25px rgba(123,15,26,.18); }
.button--ghost { background: transparent; color: var(--tulico-teal); }
.button--light { background: #fff; border-color: #fff; color: var(--tulico-teal); }
.button-row { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.8rem; }

.announcement { background: var(--tulico-teal); color: #fff; padding: .52rem 1rem; text-align: center; font-size: .75rem; letter-spacing: .08em; }
.announcement a { font-weight: 800; }
.site-header { position: sticky; top: 0; z-index: 1000; border-bottom: 1px solid rgba(255,255,255,.56); background: rgba(245,239,230,.64); -webkit-backdrop-filter:blur(22px) saturate(145%); backdrop-filter: blur(22px) saturate(145%); box-shadow:0 12px 44px rgba(13,59,69,.06),inset 0 -1px 0 rgba(13,59,69,.05); }
.header-inner { min-height: 82px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1.5rem; }
.brand { display: inline-flex; align-items: center; gap: .7rem; color: var(--tulico-teal); text-decoration: none; }
.brand-mark { width: 62px; height: 62px; position:relative; flex:0 0 62px; filter:drop-shadow(0 10px 14px rgba(123,15,26,.16)); transition:transform .45s var(--tulico-ease); }
.brand:hover .brand-mark { transform:translateY(-2px) rotate(-2deg) scale(1.04); }
.brand-mark img { width:100%; height:100%; object-fit:contain; }
.brand-copy strong { display: block; font-family: var(--font-display); font-size: 1.45rem; line-height: 1; letter-spacing: .08em; }
.brand-copy small { display: block; margin-top: .25rem; font-size: .54rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.primary-nav ul, .footer-nav ul { display: flex; gap: 1.65rem; align-items: center; list-style: none; margin: 0; padding: 0; }
.primary-nav a { position:relative; font-size: .82rem; font-weight: 800; letter-spacing: .04em; text-decoration: none; }
.primary-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-.45rem; height:2px; border-radius:2px; background:var(--tulico-maroon); transition:right .3s var(--tulico-ease); }
.primary-nav a:hover::after,.primary-nav .current-menu-item a::after { right:0; }
.primary-nav a:hover { color: var(--tulico-maroon); }
.header-actions { justify-self: end; display: flex; gap: .5rem; align-items: center; }
.header-icon { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.72); border-radius: 50%; text-decoration: none; background: rgba(255,255,255,.46); box-shadow:inset 0 1px 0 #fff,0 8px 24px rgba(13,59,69,.08); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); transition:transform .25s var(--tulico-ease),background .25s ease; }
.header-icon:hover { transform:translateY(-2px) scale(1.03); background:rgba(255,255,255,.76); }
.header-icon:active { transform:scale(.96); }
.header-icon svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.language-switcher { min-height:42px; display:flex; align-items:center; gap:.35rem; padding:.25rem .55rem; border:1px solid rgba(255,255,255,.7); border-radius:999px; background:rgba(255,255,255,.4); box-shadow:inset 0 1px 0 rgba(255,255,255,.9); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
.language-choice { min-width:34px; min-height:34px; border:0; border-radius:999px; background:transparent; color:var(--tulico-muted); cursor:pointer; font-weight:800; }
.language-choice:hover,.language-choice.is-active { background:var(--tulico-teal); color:#fff; }
.language-switcher > a { min-width:34px; min-height:34px; display:grid!important; place-items:center; border-radius:999px; color:var(--tulico-muted)!important; text-decoration:none; font-size:.75rem!important; font-weight:800; transition:background .2s ease,color .2s ease,transform .2s var(--tulico-ease); }
.language-switcher > a:hover { background:var(--tulico-teal); color:#fff!important; transform:translateY(-1px); }
.language-switcher select { min-height:34px; max-width:112px; border:0; outline:0; background:transparent; color:var(--tulico-teal); font-size:.75rem; font-weight:800; cursor:pointer; }
.cart-count { min-width: 1.2rem; height: 1.2rem; display: grid; place-items: center; border-radius: 999px; background: var(--tulico-maroon); color: #fff; font-size: .65rem; }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--tulico-line); border-radius: 50%; background: transparent; }

.hero { position:relative; min-height: min(760px, calc(100vh - 110px)); display: grid; align-items: stretch; overflow: hidden; background:linear-gradient(125deg,rgba(255,253,249,.9),rgba(245,239,230,.68) 52%,rgba(167,210,214,.34)); }
.hero::before { content:""; position:absolute; width:420px; aspect-ratio:1; left:34%; top:-220px; border-radius:44% 56% 58% 42%/48% 38% 62% 52%; background:linear-gradient(135deg,rgba(242,199,201,.42),rgba(167,210,214,.22)); filter:blur(2px); animation:tulico-morph 12s ease-in-out infinite alternate; }
.hero-grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(420px, 1.14fr); }
.hero-copy { position:relative; z-index:2; display: flex; flex-direction: column; justify-content: center; padding: clamp(3rem, 7vw, 7rem) clamp(2rem, 6vw, 7rem); }
.hero-copy h1 em { color: var(--tulico-maroon); font-weight: 500; }
.hero-media { position: relative; min-height: 620px; overflow:hidden; background: linear-gradient(145deg, var(--tulico-aqua), var(--tulico-blush)); clip-path:polygon(7% 0,100% 0,100% 100%,0 100%); }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; }
.hero-note { position: absolute; right: 1.5rem; bottom: 1.5rem; max-width: 250px; padding: 1rem 1.15rem; border:1px solid var(--tulico-glass-border); border-radius: 1.15rem; background: var(--tulico-glass-strong); box-shadow: var(--tulico-glass-shadow); -webkit-backdrop-filter: blur(18px) saturate(145%); backdrop-filter: blur(18px) saturate(145%); font-size: .78rem; }

.trust-strip { position:relative; z-index:3; width:min(1120px,calc(100% - 2rem)); margin:-1.4rem auto 0; border:1px solid var(--tulico-glass-border); border-radius:1.35rem; background:var(--tulico-glass-strong); box-shadow:var(--tulico-glass-shadow); -webkit-backdrop-filter:blur(20px) saturate(145%); backdrop-filter:blur(20px) saturate(145%); }
.trust-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.trust-item { padding: 1.35rem 1rem; text-align: center; border-right: 1px solid var(--tulico-line); }
.trust-item:last-child { border-right: 0; }
.trust-item strong { display: block; color: var(--tulico-teal); font-size: .82rem; }
.trust-item span { color: var(--tulico-muted); font-size: .72rem; }

.section-head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.25rem; }
.section-head h2 { margin-bottom: 0; }
.category-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 1rem; }
.category-card { --spot-x:50%; --spot-y:50%; position: relative; min-height: 430px; overflow: hidden; border:1px solid rgba(255,255,255,.56); border-radius: var(--tulico-radius); background: var(--tulico-teal); color: #fff; text-decoration: none; box-shadow:0 24px 60px rgba(13,59,69,.14),inset 0 1px 0 rgba(255,255,255,.5); transition:transform .45s var(--tulico-ease),box-shadow .45s ease; }
.category-card::before { content:""; position:absolute; z-index:3; inset:0; pointer-events:none; opacity:0; background:radial-gradient(280px circle at var(--spot-x) var(--spot-y),rgba(255,255,255,.34),transparent 62%); transition:opacity .3s ease; }
.category-card:hover { transform:translateY(-8px); box-shadow:0 34px 78px rgba(13,59,69,.2),inset 0 1px 0 rgba(255,255,255,.6); }
.category-card:hover::before { opacity:1; }
.category-card:nth-child(2) { background: var(--tulico-maroon); }
.category-card:nth-child(3) { background: var(--tulico-mid); }
.category-card::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg,transparent 35%,rgba(6,33,38,.78)); }
.category-card img { width:100%; height:100%; object-fit:cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.category-card:hover img { transform: scale(1.035); }
.category-card-content { position:absolute; z-index:2; inset:auto 1.5rem 1.4rem; }
.category-card h3 { color:#fff; font-size:2rem; margin:0 0 .25rem; }
.category-card span { font-size:.74rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }

.editorial-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.editorial-media { position:relative; border-radius: 48% 48% 1.5rem 1.5rem; overflow:hidden; background:var(--tulico-aqua); }
.editorial-media::before { content:""; display:block; padding-top:118%; }
.editorial-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.values { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin-top:2rem; }
.value-card { padding:1.25rem; border:1px solid var(--tulico-glass-border); border-radius:1rem; background:var(--tulico-glass); box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 16px 42px rgba(13,59,69,.06); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); transition:transform .3s var(--tulico-ease),background .3s ease; }
.value-card:hover { transform:translateY(-5px) rotate(.25deg); background:rgba(255,255,255,.72); }
.value-card strong { color:var(--tulico-teal); }
.value-card p { margin:.35rem 0 0; color:var(--tulico-muted); font-size:.85rem; line-height:1.5; }

.quote-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.quote-card { padding:1.65rem; border:1px solid rgba(255,255,255,.2); border-radius:1.25rem; background:rgba(255,255,255,.1); box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 18px 42px rgba(3,25,29,.15); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); transition:transform .35s var(--tulico-ease),background .35s ease; }
.quote-card:hover { transform:translateY(-6px); background:rgba(255,255,255,.16); }
.quote-card blockquote,.quote-card cite { color:#fff; }
.quote-card .stars { color:var(--tulico-maroon); letter-spacing:.15em; }
.quote-card blockquote { margin:1rem 0; font-family:var(--font-display); font-size:1.25rem; line-height:1.45; }
.quote-card cite { color:var(--tulico-muted); font-size:.75rem; font-style:normal; }

.newsletter { border-radius:var(--tulico-radius); padding:clamp(2rem,6vw,5rem); background:linear-gradient(135deg,var(--tulico-teal),#164f59); color:#fff; text-align:center; overflow:hidden; position:relative; }
.newsletter::before,.newsletter::after { content:""; position:absolute; border-radius:50%; filter:blur(2px); opacity:.18; }
.newsletter::before { width:260px;height:260px;background:var(--tulico-blush);top:-160px;left:-80px; }
.newsletter::after { width:220px;height:220px;background:var(--tulico-aqua);bottom:-150px;right:-40px; }
.newsletter > * { position:relative;z-index:1; }
.newsletter h2 { color:#fff; }

.page-hero { padding:clamp(4rem,9vw,8rem) 0 3rem; text-align:center; background:linear-gradient(180deg,var(--tulico-paper),var(--tulico-ivory)); }
.page-hero h1 { font-size:clamp(2.6rem,6vw,5rem); }
.entry-content { padding:3.5rem 0 6rem; }
.entry-content h2 { margin-top:2.4rem; }
.entry-content h3 { margin-top:1.8rem; }
.entry-content p,.entry-content li { color:#415c61; }
.entry-content a { color:var(--tulico-maroon); }
.policy-callout { margin:2rem 0; padding:1.35rem 1.5rem; border-left:4px solid var(--tulico-mid); border-radius:0 1rem 1rem 0; background:var(--tulico-paper); }
.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:2rem; }
.contact-card { padding:1.5rem; border-radius:1.25rem; background:var(--tulico-paper); box-shadow:var(--tulico-shadow); }
.contact-card a { display:block; margin:.5rem 0; font-weight:700; text-decoration:none; }
.contact-form label { display:block; margin-bottom:1rem; font-size:.78rem; font-weight:800; }
.contact-form input,.contact-form textarea { width:100%; margin-top:.35rem; border:1px solid var(--tulico-line); border-radius:.8rem; background:#fff; padding:.8rem 1rem; }

.site-footer { padding:4.5rem 0 1.5rem; background:#082d35; color:rgba(255,255,255,.76); }
.footer-grid { display:grid; grid-template-columns:1.35fr .85fr .85fr 1fr; gap:2rem; }
.footer-brand strong { display:block; color:#fff; font-family:var(--font-display); font-size:2rem; letter-spacing:.08em; }
.footer-identity { display:flex; align-items:center; gap:.85rem; margin-bottom:1rem; }
.footer-identity strong { color:#fff; font-family:var(--font-display); font-size:1.8rem; letter-spacing:.12em; }
.footer-logo { width:82px; margin:0; filter:drop-shadow(0 12px 18px rgba(0,0,0,.18)); }
.footer-brand p { max-width:32ch; }
.site-footer h3 { color:#fff; font-family:var(--font-body); font-size:.78rem; letter-spacing:.13em; text-transform:uppercase; }
.site-footer ul { list-style:none; margin:0; padding:0; }
.site-footer li { margin:.5rem 0; }
.site-footer a { color:inherit; text-decoration:none; }
.site-footer a:hover { color:var(--tulico-blush); }
.footer-bottom { display:flex; justify-content:space-between; gap:1rem; margin-top:3rem; padding-top:1.25rem; border-top:1px solid rgba(255,255,255,.12); font-size:.72rem; }

.woocommerce .woocommerce-breadcrumb { margin:1.5rem 0; color:var(--tulico-muted); font-size:.75rem; }
.woocommerce .products ul, .woocommerce ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; margin:0; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { width:auto!important; margin:0!important; float:none!important; padding:.72rem .72rem 1rem; border:1px solid rgba(255,255,255,.72); border-radius:1.45rem; background:rgba(255,253,249,.52); box-shadow:inset 0 1px 0 #fff,0 16px 46px rgba(13,59,69,.07); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); transition:transform .4s var(--tulico-ease),box-shadow .4s ease; }
.woocommerce ul.products li.product:hover { transform:translateY(-8px); box-shadow:inset 0 1px 0 #fff,0 28px 62px rgba(13,59,69,.15); }
.woocommerce ul.products li.product a img { aspect-ratio:4/5; object-fit:cover; margin:0 0 1rem; border-radius:1.25rem; background:var(--tulico-paper); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding:0; color:var(--tulico-teal); font-family:var(--font-display); font-size:1.28rem; }
.woocommerce ul.products li.product .price { color:var(--tulico-maroon); font-weight:800; }
.woocommerce span.onsale { min-width:auto; min-height:auto; line-height:1; padding:.55rem .7rem; border-radius:999px; background:var(--tulico-maroon); font-size:.7rem; }
.woocommerce div.product { padding:3rem 0; }
.woocommerce div.product div.images img { border-radius:1.25rem; }
.woocommerce div.product .product_title { font-size:clamp(2.2rem,4vw,4rem); }
.woocommerce div.product p.price,.woocommerce div.product span.price { color:var(--tulico-maroon); font-size:1.45rem; font-weight:800; }
.woocommerce div.product form.cart .variations select { min-height:46px; border:1px solid var(--tulico-line); border-radius:.65rem; padding:.6rem; background:#fff; }
.woocommerce div.product form.cart .button { min-height:50px; }
.woocommerce-tabs { padding-top:2rem; }
.woocommerce table.shop_table { border-color:var(--tulico-line); border-radius:1rem; background:var(--tulico-paper); }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select { min-height:48px; border:1px solid var(--tulico-line); border-radius:.65rem; background:#fff; padding:.7rem .8rem; }
.woocommerce-checkout #payment { background:var(--tulico-paper); border:1px solid var(--tulico-line); border-radius:1rem; }
.woocommerce-info,.woocommerce-message { border-top-color:var(--tulico-mid); background:var(--tulico-paper); }
.woocommerce-info::before,.woocommerce-message::before { color:var(--tulico-mid); }
.tulico-product-assurance { margin:1.25rem 0; padding:1rem 1.1rem; border:1px solid var(--tulico-line); border-radius:.9rem; background:var(--tulico-paper); font-size:.82rem; }
.tulico-product-assurance p { margin:.25rem 0; }
.tulico-wa-button { position:fixed; z-index:999; right:1.15rem; bottom:1.15rem; display:flex; align-items:center; gap:.55rem; min-height:50px; padding:.75rem 1rem; border-radius:999px; background:#1c9b5c; color:#fff!important; box-shadow:0 12px 35px rgba(0,0,0,.18); font-size:.78rem; font-weight:800; text-decoration:none; }

.motion-reveal { opacity:0; transform:translate3d(0,28px,0) scale(.985); transition:opacity .7s var(--tulico-ease),transform .7s var(--tulico-ease); transition-delay:var(--reveal-delay,0ms); }
.motion-reveal.is-visible { opacity:1; transform:translate3d(0,0,0) scale(1); }
.hero-copy > * { opacity:0; transform:translateY(24px); animation:tulico-enter .7s var(--tulico-ease) forwards; }
.hero-copy > *:nth-child(2) { animation-delay:.08s; }
.hero-copy > *:nth-child(3) { animation-delay:.16s; }
.hero-copy > *:nth-child(4) { animation-delay:.24s; }
.button:active,.wp-element-button:active,.woocommerce a.button:active,.woocommerce button.button:active { transform:scale(.97); }
@keyframes tulico-enter { to { opacity:1; transform:translateY(0); } }
@keyframes tulico-morph { 0% { border-radius:44% 56% 58% 42%/48% 38% 62% 52%; transform:translate3d(0,0,0) rotate(0); } 100% { border-radius:59% 41% 43% 57%/38% 55% 45% 62%; transform:translate3d(34px,24px,0) rotate(7deg); } }
@keyframes tulico-orbit { from { transform:translate3d(0,0,0) scale(1); } to { transform:translate3d(6vw,4vh,0) scale(1.08); } }

@media (max-width: 920px) {
  body.admin-bar .site-header { top:46px; }
  .header-inner { grid-template-columns:auto 1fr auto; min-height:72px; }
  .menu-toggle { display:grid; place-items:center; }
  .primary-nav { display:none; position:absolute; top:100%; left:0; right:0; padding:1rem; background:var(--tulico-ivory); border-bottom:1px solid var(--tulico-line); }
  .primary-nav.is-open { display:block; }
  .primary-nav ul { display:grid; gap:.5rem; }
  .primary-nav a { display:block; padding:.75rem; }
  .brand-copy small { display:none; }
  .hero-grid { grid-template-columns:1fr; }
  .hero-copy { order:2; padding:3rem 1rem 4rem; }
  .hero-media { min-height:58vh; }
  .trust-grid { grid-template-columns:repeat(2,1fr); }
  .trust-item:nth-child(2) { border-right:0; }
  .category-grid { grid-template-columns:1fr 1fr; }
  .category-card:first-child { grid-column:1/-1; }
  .editorial-grid { grid-template-columns:1fr; }
  .quote-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .woocommerce .products ul,.woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .contact-grid { grid-template-columns:1fr; }
}

@media (max-width: 560px) {
  .container,.narrow { width:min(100% - 1.25rem,1180px); }
  .brand-copy { display:none; }
  .brand-mark { width:52px; height:52px; flex-basis:52px; }
  .header-inner { gap:.65rem; }
  .header-actions { gap:.3rem; }
  .language-switcher { padding:.2rem .35rem; }
  .header-actions .account-link { display:none; }
  .hero-media { min-height:55vh; }
  .hero-note { right:.8rem; bottom:.8rem; }
  .section { padding:3.75rem 0; }
  .section-head { display:block; }
  .section-head .button { margin-top:1rem; }
  .category-grid { grid-template-columns:1fr; }
  .category-card:first-child { grid-column:auto; }
  .category-card { min-height:360px; }
  .values { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { display:block; }
  .woocommerce .products ul,.woocommerce ul.products { gap:.75rem; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:1.05rem; }
  .tulico-wa-button span { display:none; }
  .tulico-wa-button { width:52px; justify-content:center; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; }
}
