/* ==========================================================================
   OFEK LAGAN — main.css  (design system)
   חם · משפחתי · מקצועי · מוטיב "קו הצבע"
   ========================================================================== */
@font-face{
  font-family:"Assistant";
  src:url(../fonts/assistant.woff2) format("woff2");
  font-weight:200 800; font-style:normal; font-display:swap;
}

:root{
  --brand:#2247CC; --brand-ink:#16215A; --brand-soft:#EEF2FC;
  --gold:#E0B252; --gold-deep:#B9863A;
  --ground:#FBF9F4; --card:#FFFFFF; --panel:#EEF2FC;
  --ink:#1A1D26; --muted:#5B6472; --line:#ECE7DD;
  --shadow:0 10px 30px -12px rgba(22,33,90,.2);
  --shadow-sm:0 4px 14px -6px rgba(22,33,90,.14);
  --radius:16px; --radius-lg:22px;
  --maxw:1180px;
}

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body.ol-body{
  margin:0; direction:rtl;
  font-family:"Assistant","Heebo","Arial Hebrew",-apple-system,system-ui,sans-serif;
  background:var(--ground); color:var(--ink); line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{ max-width:100%; height:auto; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3{ text-wrap:balance; }
.ol-container{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }
.ol-skip{ position:absolute; right:-9999px; top:0; background:var(--brand); color:#fff; padding:10px 16px; border-radius:0 0 10px 0; z-index:100; }
.ol-skip:focus{ right:0; }

/* ---------- motifs ---------- */
.ol-scribble{ display:block; width:min(330px,72%); height:24px; color:var(--gold-deep); margin-top:8px; }
.ol-draw{ stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset 1.1s cubic-bezier(.6,.05,.2,1); }
.ol-draw--2{ transition-delay:.35s; }
.ol-in-view .ol-draw{ stroke-dashoffset:0; }
.ol-spark{ width:16px; height:16px; color:var(--gold-deep); flex:none; }
.ol-trail{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }
.ol-trail svg{ width:100%; height:46px; color:var(--gold-deep); opacity:.6; overflow:visible; }
.ol-trail-path{ animation:ol-march 22s linear infinite; }
@keyframes ol-march{ to{ stroke-dashoffset:-170; } }

/* ---------- topbar + header ---------- */
.ol-topbar{ background:var(--brand-ink); color:#fff; font-size:14px; }
.ol-topbar__row{ display:flex; justify-content:space-between; align-items:center; min-height:40px; gap:12px; }
.ol-topbar a{ color:var(--gold); font-weight:600; white-space:nowrap; }
.ol-header{ position:sticky; top:0; z-index:40; background:color-mix(in srgb,var(--ground) 90%, transparent); backdrop-filter:saturate(1.4) blur(10px); border-bottom:1px solid var(--line); }
.ol-header__row{ display:flex; align-items:center; gap:26px; height:74px; }
.ol-logo__text{ font-weight:800; font-size:26px; color:var(--brand-ink); letter-spacing:-.5px; }
.ol-logo__text em{ color:var(--gold-deep); font-style:normal; }
.ol-logo__img{ display:inline-flex; }
.ol-logo__img img{ height:52px; width:auto; display:block; }
.ol-nav{ position:relative; }
.ol-nav__list{ display:flex; align-items:center; gap:22px; list-style:none; margin:0; padding:0; font-weight:600; flex-wrap:nowrap; }
.ol-nav__list li{ position:relative; }
.ol-nav__list a{ display:block; padding:8px 0; transition:color .18s; white-space:nowrap; }
.ol-nav__list a:hover{ color:var(--brand); }
.ol-nav__list .menu-item-has-children > a::after{ content:"▾"; font-size:11px; margin-inline-start:5px; color:var(--muted); }
/* dropdown submenus */
.ol-nav__list .sub-menu{ position:absolute; top:100%; inset-inline-start:0; min-width:210px; background:var(--card); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); padding:8px; margin:0; list-style:none; display:flex; flex-direction:column; gap:2px; opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .16s, transform .16s, visibility .16s; z-index:50; }
.ol-nav__list li:hover > .sub-menu, .ol-nav__list li:focus-within > .sub-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.ol-nav__list .sub-menu a{ padding:9px 12px; border-radius:9px; font-size:15px; }
.ol-nav__list .sub-menu a:hover{ background:var(--brand-soft); }
/* keep sticky header below the WP admin bar for logged-in preview */
body.admin-bar .ol-header{ top:32px; }
@media (max-width:782px){ body.admin-bar .ol-header{ top:46px; } }
.ol-header__actions{ margin-inline-start:auto; display:flex; align-items:center; gap:10px; }
.ol-iconbtn{ width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:var(--card); border:1px solid var(--line); color:var(--brand-ink); box-shadow:var(--shadow-sm); position:relative; cursor:pointer; }
.ol-iconbtn:hover{ color:var(--brand); border-color:var(--brand); }
.ol-iconbtn svg{ width:19px; height:19px; }
.ol-menu-toggle{ display:none; }
.ol-cart__count{ position:absolute; top:-4px; inset-inline-start:-4px; background:var(--gold-deep); color:#fff; font-size:11px; font-weight:800; min-width:18px; height:18px; border-radius:999px; display:grid; place-items:center; padding:0 4px; }

/* ---------- buttons ---------- */
.ol-btn{ display:inline-flex; align-items:center; gap:9px; font-weight:700; font-size:16px; padding:14px 26px; border-radius:999px; cursor:pointer; border:none; transition:transform .16s, box-shadow .16s, background .16s, border-color .16s; }
.ol-btn .ol-i{ width:18px; height:18px; }
.ol-btn--primary{ background:var(--brand); color:#fff; box-shadow:0 10px 22px -8px color-mix(in srgb,var(--brand) 65%, transparent); }
.ol-btn--primary:hover{ transform:translateY(-2px); box-shadow:0 16px 28px -10px color-mix(in srgb,var(--brand) 70%, transparent); color:#fff; }
.ol-btn--ghost{ background:transparent; color:var(--brand-ink); border:1.5px solid var(--line); padding:11px 20px; font-size:15px; }
.ol-btn--ghost:hover{ border-color:var(--brand); color:var(--brand); background:var(--brand-soft); }
.ol-textlink{ color:var(--brand); font-weight:700; }
.ol-textlink:hover{ text-decoration:underline; }

/* ---------- hero ---------- */
.ol-hero{ position:relative; overflow:hidden; text-align:center;
  background:radial-gradient(92% 78% at 50% -12%, color-mix(in srgb,var(--gold) 20%, var(--ground)), transparent 62%),
            linear-gradient(180deg, color-mix(in srgb,var(--brand-soft) 55%, var(--ground)), var(--ground)); }
.ol-hero__doodles{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.ol-sun{ color:var(--gold); }
.ol-hero__doodles .ol-sun{ position:absolute; top:28px; inset-inline-end:7%; width:56px; height:56px; animation:ol-spin 30s linear infinite; }
.ol-cloud{ position:absolute; top:72px; inset-inline-start:9%; width:94px; color:var(--brand); opacity:.2; }
@keyframes ol-spin{ to{ transform:rotate(360deg); } }
.ol-hero__inner{ position:relative; z-index:1; max-width:900px; padding-top:58px; }
.ol-eyebrow{ display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:14px; color:var(--brand); background:var(--card); border:1px solid var(--line); padding:7px 15px 7px 13px; border-radius:999px; box-shadow:var(--shadow-sm); }
.ol-hero__title{ font-size:clamp(36px,5.6vw,64px); line-height:1.06; font-weight:800; letter-spacing:-1.2px; margin:20px auto 0; color:var(--brand-ink); }
.ol-hero .ol-scribble{ margin:8px auto 0; }
.ol-hero__text{ font-size:19px; color:var(--muted); margin:16px auto 28px; max-width:52ch; }
.ol-hero__cta{ display:flex; gap:14px; align-items:center; justify-content:center; flex-wrap:wrap; }
.ol-trust{ margin-top:22px; display:flex; gap:22px; justify-content:center; color:var(--muted); font-size:14px; font-weight:600; flex-wrap:wrap; }
.ol-trust span{ display:inline-flex; align-items:center; gap:7px; }
.ol-trust .ol-i{ width:18px; height:18px; color:var(--brand); }

/* hero product marquee on the crayon line */
.ol-hero__scene{ position:relative; z-index:1; margin-top:24px; height:288px; }
.ol-ground{ position:absolute; left:0; right:0; bottom:70px; width:100%; height:40px; color:var(--gold-deep); opacity:.7; overflow:visible; z-index:0; }
.ol-marquee{ position:absolute; inset:0; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.ol-track{ position:absolute; bottom:24px; display:flex; align-items:flex-end; gap:clamp(18px,3.4vw,44px); width:max-content; padding:0 24px; animation:ol-marquee 44s linear infinite; }
.ol-marquee:hover .ol-track{ animation-play-state:paused; }
@keyframes ol-marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.ol-pbubble{ display:flex; flex-direction:column; align-items:center; gap:11px; flex:none; }
.ol-pbubble__frame{ position:relative; display:grid; place-items:center; overflow:hidden; width:clamp(150px,17vw,186px); height:clamp(122px,13.5vw,150px); border-radius:22px; background:var(--card); border:1px solid var(--line); box-shadow:var(--shadow); transition:transform .2s, box-shadow .2s; }
.ol-pbubble__frame img{ width:100%; height:100%; object-fit:cover; }
.ol-pbubble:hover .ol-pbubble__frame{ transform:translateY(-6px); box-shadow:0 16px 34px -14px rgba(22,33,90,.42); }
.ol-pbubble__tag{ position:absolute; top:9px; inset-inline-start:9px; background:var(--gold); color:#3a2a05; font-size:11px; font-weight:800; padding:4px 10px; border-radius:999px; box-shadow:var(--shadow-sm); }
.ol-pbubble__label{ font-weight:700; font-size:14px; line-height:1.3; color:var(--brand-ink); text-align:center; width:clamp(150px,17vw,186px); height:37px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; transition:color .18s; }
.ol-pbubble:hover .ol-pbubble__label{ color:var(--brand); }

/* ---------- sections ---------- */
.ol-section{ padding:56px 0; }
.ol-section--soft{ background:linear-gradient(180deg,transparent, color-mix(in srgb,var(--brand-soft) 55%, var(--ground))); }
.ol-sectionhead{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:30px; gap:16px; }
.ol-sectionhead--center{ flex-direction:column; align-items:center; text-align:center; }
.ol-sectionhead--center .ol-scribble{ margin-inline:auto; }
.ol-h2{ font-size:clamp(26px,3.4vw,38px); font-weight:800; letter-spacing:-.6px; color:var(--brand-ink); margin:8px 0 0; }
.ol-sub{ color:var(--muted); margin:8px 0 0; font-size:16px; }
.ol-label{ display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:700; letter-spacing:.04em; color:var(--gold-deep); }
.ol-sun--head{ width:52px; height:52px; margin-bottom:4px; }
.ol-section__more{ text-align:center; margin-top:30px; }

/* ---------- categories ---------- */
.ol-cats{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.ol-cat{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:14px; display:flex; flex-direction:column; gap:12px; transition:transform .18s, box-shadow .18s, border-color .18s; }
.ol-cat:hover{ transform:translateY(-4px); box-shadow:var(--shadow); border-color:transparent; }
.ol-cat__thumb{ aspect-ratio:4/3; border-radius:12px; display:grid; place-items:center; background:radial-gradient(140% 120% at 30% 15%, color-mix(in srgb,var(--brand-soft) 70%, #fff), var(--panel)); background-size:cover; background-position:center; }
.ol-cat__thumb .ol-spark{ width:34px; height:34px; color:var(--brand); }
.ol-cat__meta{ display:flex; flex-direction:column; padding:0 4px 4px; }
.ol-cat__name{ font-weight:700; font-size:17px; }
.ol-cat__count{ font-size:13px; color:var(--muted); }

/* ---------- product grid + cards (loop) ---------- */
.ol-products, ul.products{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.ol-product{ margin:0; }
.ol-product__card{ height:100%; display:flex; flex-direction:column; background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg); padding:14px; text-align:center; transition:transform .18s, box-shadow .18s; }
.ol-product__card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.ol-product__media{ position:relative; display:block; aspect-ratio:1/1; border-radius:14px; overflow:hidden; background:var(--panel); }
.ol-product__media img{ width:100%; height:100%; object-fit:cover; }
.ol-badge{ position:absolute; top:12px; inset-inline-start:12px; z-index:1; font-size:12px; font-weight:700; padding:5px 11px; border-radius:999px; color:#fff; }
.ol-badge--sale{ background:var(--gold-deep); }
.ol-product__body{ display:flex; flex-direction:column; gap:10px; padding-top:14px; flex:1; }
.ol-product__title{ font-size:16px; font-weight:700; line-height:1.35; margin:0; }
.ol-product__title a:hover{ color:var(--brand); }
.ol-product__price{ font-weight:800; color:var(--brand-ink); font-size:19px; }
.ol-product__price del{ color:var(--muted); font-weight:500; font-size:15px; margin-inline-end:6px; }
.ol-product__price ins{ text-decoration:none; }
.ol-product__btn{ align-self:center; margin-top:auto; }

/* ---------- WooCommerce shop/archive/single wrapper ---------- */
.ol-woo{ padding-bottom:56px; }
.ol-woohead{ background:linear-gradient(180deg, var(--brand-soft), var(--ground)); padding:44px 0 34px; text-align:center; margin-bottom:34px; }
.ol-woohead .ol-scribble{ margin:8px auto 0; }
.ol-shop{ display:block; }
.woocommerce .ol-woo .woocommerce-result-count{ color:var(--muted); }
.woocommerce .ol-woo .woocommerce-ordering select{ border:1px solid var(--line); border-radius:999px; padding:8px 14px; background:var(--card); }
.woocommerce .ol-woo .button, .woocommerce .ol-woo a.button, .woocommerce .ol-woo button.button{ border-radius:999px; background:var(--brand); color:#fff; font-weight:700; }
.woocommerce .ol-woo .button:hover{ background:var(--brand-ink); }
.woocommerce .ol-woo .price{ color:var(--brand-ink); font-weight:800; }
.woocommerce .ol-woo nav.woocommerce-pagination ul{ border:none; gap:8px; display:flex; justify-content:center; }
.woocommerce .ol-woo nav.woocommerce-pagination ul li{ border:none; }
.woocommerce .ol-woo nav.woocommerce-pagination ul li a, .woocommerce .ol-woo nav.woocommerce-pagination ul li span{ border:1px solid var(--line); border-radius:10px; background:var(--card); }
.woocommerce .ol-woo nav.woocommerce-pagination ul li span.current{ background:var(--brand); color:#fff; border-color:var(--brand); }
/* single product */
.single-product .ol-woo div.product .product_title{ font-size:clamp(24px,3vw,36px); font-weight:800; color:var(--brand-ink); letter-spacing:-.5px; }
.single-product .ol-woo div.product .price{ color:var(--brand-ink); font-weight:800; font-size:24px; }
.single-product .ol-woo div.product .woocommerce-product-gallery{ border-radius:var(--radius-lg); overflow:hidden; }
.single-product .ol-woo .single_add_to_cart_button.button{ border-radius:999px; padding:14px 30px; font-size:16px; }
.woocommerce-tabs .tab-content, .woocommerce-Tabs-panel{ line-height:1.8; }

/* ---------- cart / checkout minimal polish ---------- */
.woocommerce-cart .ol-woo table.cart, .woocommerce-checkout .ol-woo .woocommerce-checkout-review-order table{ border-radius:var(--radius); overflow:hidden; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce-checkout select{ border:1px solid var(--line); border-radius:12px; padding:12px 14px; }
.woocommerce #payment, .woocommerce-checkout #order_review{ border-radius:var(--radius); }

/* ---------- about ---------- */
.ol-about__grid{ display:grid; grid-template-columns:.92fr 1.08fr; gap:44px; align-items:center; }
.ol-about__photo{ position:relative; }
.ol-about__photo img{ width:100%; border-radius:var(--radius-lg); border:1px solid var(--line); box-shadow:var(--shadow); display:block; }
.ol-about__badge{ position:absolute; bottom:-14px; inset-inline-start:22px; background:var(--card); border:1px solid var(--line); box-shadow:var(--shadow-sm); border-radius:999px; padding:9px 16px; font-weight:700; font-size:14px; color:var(--brand-ink); }
.ol-about__text{ color:var(--muted); font-size:16px; line-height:1.8; }
.ol-about__text p{ margin:0 0 12px; }
.ol-about__lead{ font-size:19px; font-weight:600; color:var(--ink) !important; }
.ol-about__sign{ display:flex; align-items:center; gap:14px; margin-top:20px; padding-top:18px; border-top:1px dashed var(--line); }
.ol-sign{ width:100px; height:34px; color:var(--brand); flex:none; }
.ol-about__sign b{ display:block; font-size:17px; color:var(--brand-ink); }
.ol-about__sign span{ font-size:14px; color:var(--muted); }

/* ---------- features ---------- */
.ol-features{ background:var(--brand-ink); color:#fff; }
.ol-features__row{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; padding:38px 24px; }
.ol-feature{ display:flex; gap:13px; align-items:center; }
.ol-feature svg{ width:30px; height:30px; color:var(--gold); flex:none; }
.ol-feature b{ display:block; font-size:16px; }
.ol-feature span{ font-size:13.5px; opacity:.72; }

/* ---------- blog / magazine ---------- */
.ol-pagehead{ padding:20px 0 6px; }
.ol-postgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:20px; }
.ol-postcard{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; display:flex; flex-direction:column; transition:transform .18s, box-shadow .18s; }
.ol-postcard:hover{ transform:translateY(-5px); box-shadow:var(--shadow); }
.ol-postcard__media{ position:relative; aspect-ratio:16/10; display:block; background:var(--panel); overflow:hidden; }
.ol-postcard__media img{ width:100%; height:100%; object-fit:cover; }
.ol-postcard__ph{ position:absolute; inset:0; display:grid; place-items:center; }
.ol-postcard__ph .ol-spark{ width:40px; height:40px; color:var(--brand); }
.ol-postcard__cat{ position:absolute; top:12px; inset-inline-start:12px; background:var(--card); font-size:12px; font-weight:700; padding:5px 11px; border-radius:999px; color:var(--brand-ink); }
.ol-postcard__body{ padding:18px; display:flex; flex-direction:column; gap:8px; flex:1; }
.ol-postcard__date{ font-size:13px; color:var(--muted); }
.ol-postcard__title{ font-size:19px; font-weight:800; line-height:1.3; margin:0; color:var(--brand-ink); }
.ol-postcard__title a:hover{ color:var(--brand); }
.ol-postcard__excerpt{ color:var(--muted); font-size:15px; margin:0; }
.ol-postcard__body .ol-textlink{ margin-top:auto; }
.ol-pagination{ margin-top:36px; text-align:center; }
.ol-pagination .nav-links{ display:inline-flex; gap:8px; }
.ol-pagination a, .ol-pagination span{ display:grid; place-items:center; min-width:42px; height:42px; padding:0 12px; border:1px solid var(--line); border-radius:12px; background:var(--card); font-weight:700; }
.ol-pagination .current{ background:var(--brand); color:#fff; border-color:var(--brand); }

/* single post */
.ol-single__head{ padding:34px 0 10px; text-align:center; }
.ol-single__headinner{ max-width:760px; }
.ol-single__head .ol-scribble{ margin:8px auto 0; }
.ol-single__title{ font-size:clamp(28px,4vw,46px); font-weight:800; color:var(--brand-ink); letter-spacing:-.6px; margin:14px 0 0; }
.ol-single__meta{ color:var(--muted); font-size:14px; display:flex; gap:8px; justify-content:center; margin-top:12px; }
.ol-single__hero{ margin:24px auto; }
.ol-single__hero img{ width:100%; border-radius:var(--radius-lg); }
.ol-single__body, .ol-page__body{ max-width:760px; }
.ol-prose{ font-size:17px; line-height:1.85; color:#2b2f3a; }
.ol-prose h2{ font-size:26px; color:var(--brand-ink); margin:32px 0 12px; }
.ol-prose h3{ font-size:21px; color:var(--brand-ink); margin:26px 0 10px; }
.ol-prose img{ border-radius:var(--radius); }
.ol-prose a{ color:var(--brand); text-decoration:underline; }
.ol-empty{ text-align:center; padding:60px 0; color:var(--muted); }

/* ---------- footer + waving child ---------- */
.ol-footer{ background:var(--ground); border-top:1px solid var(--line); padding-top:20px; }
.ol-footer__bye{ font-weight:800; font-size:20px; color:var(--brand-ink); text-align:center; }
.ol-footer__scene{ position:relative; height:170px; }
.ol-footer__scene svg{ position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.ol-ground-line{ color:var(--gold); }
.ol-child{ color:var(--brand); }
.ol-child-arm{ transform-box:fill-box; transform-origin:50% 92%; transform:rotate(6deg); }
.ol-rewave.ol-waving .ol-child-arm{ animation:ol-wave 2.2s ease-in-out .2s 3; }
@keyframes ol-wave{ 0%,100%{transform:rotate(6deg);} 25%{transform:rotate(-14deg);} 50%{transform:rotate(16deg);} 75%{transform:rotate(-8deg);} }
.ol-footer__cols{ display:flex; justify-content:space-between; gap:30px; padding-top:10px; padding-bottom:24px; flex-wrap:wrap; }
.ol-footer__brand p{ color:var(--muted); font-size:14px; max-width:40ch; margin:8px 0 0; }
.ol-footer__menu{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; font-weight:600; }
.ol-footer__foot{ border-top:1px solid var(--line); text-align:center; color:var(--muted); font-size:14px; padding:18px 24px 34px; }

/* ---------- reveal ---------- */
.ol-reveal{ }

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .ol-cats{ grid-template-columns:repeat(2,1fr); }
  .ol-products, ul.products{ grid-template-columns:repeat(3,1fr); }
  .ol-postgrid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:820px){
  .ol-nav{ display:none; }
  .ol-menu-toggle{ display:grid; }
  .ol-header.ol-nav-open .ol-nav{ display:block; position:absolute; top:74px; inset-inline:0; background:var(--card); border-bottom:1px solid var(--line); box-shadow:var(--shadow); }
  .ol-header.ol-nav-open .ol-nav__list{ flex-direction:column; gap:0; padding:8px 24px; }
  .ol-header.ol-nav-open .ol-nav__list li{ border-bottom:1px solid var(--line); }
  .ol-header.ol-nav-open .ol-nav__list a{ display:block; padding:12px 0; }
  .ol-products, ul.products{ grid-template-columns:repeat(2,1fr); }
  .ol-about__grid{ grid-template-columns:1fr; gap:32px; }
  .ol-about__photo{ max-width:440px; margin:0 auto; }
  .ol-features__row{ grid-template-columns:repeat(2,1fr); }
  .ol-hero__scene{ height:250px; } .ol-cloud{ display:none; }
  .ol-sectionhead{ flex-direction:column; align-items:flex-start; }
}
@media (max-width:520px){
  .ol-cats, .ol-postgrid, .ol-products, ul.products{ grid-template-columns:1fr 1fr; }
  .ol-topbar__row span:first-child{ font-size:12.5px; }
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *, .ol-sun, .ol-trail-path{ animation:none !important; transition:none !important; }
  .ol-draw{ stroke-dashoffset:0 !important; }
  .ol-marquee{ overflow-x:auto; }
  .ol-rewave.ol-waving .ol-child-arm{ transform:rotate(10deg); }
}
