/*
 * Findlyra design system — Sprint 5 live refresh
 * Calm jade, warm amber and deep slate.
 */
:root{
  /* Findlyra global foundation — Sprint 6.1 */
  --ink:#172033;
  --text:#172033;
  --muted:#667085;
  --line:#e6e9ed;
  --paper:#ffffff;
  --soft:#f7f9f8;
  --soft-jade:#eff8f6;
  --accent:#0f766e;
  --accent-strong:#115e59;
  --accent-bright:#14b8a6;
  --accent2:#2aa198;
  --amber:#d88b1f;
  --amber-soft:#fff7e8;
  --dark:#14213d;

  --radius-sm:12px;
  --radius-md:16px;
  --radius-lg:22px;
  --radius-xl:30px;
  --radius:var(--radius-lg);

  --space-1:.25rem;
  --space-2:.5rem;
  --space-3:.75rem;
  --space-4:1rem;
  --space-5:1.5rem;
  --space-6:2rem;
  --space-7:3rem;
  --space-8:4rem;

  --shadow-sm:0 8px 22px rgba(23,32,51,.06);
  --shadow:0 18px 50px rgba(23,32,51,.08);
  --shadow-lg:0 28px 80px rgba(23,32,51,.14);
  --focus-ring:0 0 0 4px rgba(20,184,166,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
img,video{max-width:100%}
button,input,textarea,select{font:inherit}
a{transition:color .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:10px}
.site-header{background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(23,32,51,.07)}
.navbar{min-height:76px}

/* Official Findlyra wordmark — do not recreate this logo elsewhere. */
.findlyra-logo{
  display:inline-flex;
  align-items:baseline;
  gap:0;
  white-space:nowrap;
  text-decoration:none;
  color:var(--ink);
  font-size:1.72rem;
  line-height:1;
  font-weight:850;
  letter-spacing:-.055em;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
.findlyra-logo__find{color:var(--ink)}
.findlyra-logo__lyra{color:var(--accent)}
.findlyra-logo:hover{color:var(--ink);transform:none}
.findlyra-logo:focus-visible{box-shadow:var(--focus-ring)}
.brand{display:inline-flex}
.site-brand{font-size:1.72rem}
.nav-link{font-weight:680;color:#4b5563!important;padding:.65rem .8rem!important}
.nav-link:hover,.nav-link.active{color:var(--accent)!important}
.nav-link.active{position:relative}
.nav-link.active:after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.35rem;height:2px;border-radius:99px;background:var(--accent)}
.nav-toggle{border:0;padding:.4rem}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0}

.hero-section{
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 35%,rgba(20,184,166,.14),transparent 27%),
    radial-gradient(circle at 40% 100%,rgba(216,139,31,.08),transparent 26%),
    linear-gradient(180deg,#fff 0%,#f5faf8 100%);
  min-height:680px;display:flex;align-items:center
}
.hero-section .container{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:2rem}
.hero-content{padding:5.8rem 0}
.eyebrow{font-size:.73rem;letter-spacing:.16em;font-weight:850;color:var(--accent);margin-bottom:1rem}
.hero-section h1,.inner-hero h1{font-size:clamp(3rem,6vw,5.7rem);letter-spacing:-.07em;line-height:.96;font-weight:860;margin:0}
.hero-section h1 span,.catalog-hero h1 span,.compare-hero h1 span{
  background:linear-gradient(110deg,var(--accent-strong),var(--accent-bright));
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.hero-copy{font-size:1.15rem;line-height:1.75;color:var(--muted);max-width:680px;margin:1.7rem 0}
.hero-search,.catalog-search{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:7px;display:flex;max-width:720px}
.hero-search input,.catalog-search input{border:0;outline:0;flex:1;padding:.85rem 1rem;font-size:1rem;background:transparent;color:var(--ink)}
.hero-search button,.catalog-search button,.primary-link,.primary-action{
  border:0;background:linear-gradient(135deg,var(--accent-strong),var(--accent-bright));color:#fff;font-weight:800;border-radius:13px;padding:.85rem 1.4rem;
  box-shadow:0 10px 24px rgba(15,118,110,.18)
}
.hero-search button:hover,.catalog-search button:hover,.primary-link:hover,.primary-action:hover{transform:translateY(-1px);filter:saturate(1.05);color:#fff}
.hero-note{font-size:.8rem;color:#98a2b3;margin-top:.9rem}
.hero-orbit{position:relative;height:450px}
.center-mark{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:125px;height:125px;border-radius:38px;display:grid;place-items:center;
  background:linear-gradient(145deg,var(--accent-strong),var(--accent-bright));color:#fff;font-size:4rem;font-weight:850;
  box-shadow:0 30px 70px rgba(15,118,110,.25)
}
.orbit-card{
  position:absolute;
  background:rgba(255,255,255,.94);
  border:1px solid var(--line);
  box-shadow:0 20px 50px rgba(23,32,51,.08);
  border-radius:20px;
  padding:1rem 1.15rem;
  font-size:1.45rem;
  display:flex;
  gap:.7rem;
  align-items:center;
  cursor:default;
}
.orbit-card span{font-size:.9rem;font-weight:760}
.c1{top:25px;left:15%}.c2{right:2%;top:125px}.c3{bottom:55px;right:13%}.c4{bottom:10px;left:4%}

.section-space{padding:6rem 0}
.section-heading{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:2rem}
.section-heading h2,.principle-panel h2{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.055em;font-weight:830;margin:0}
.section-heading>p{max-width:420px;color:var(--muted);line-height:1.7}
.feature-card{display:block;height:100%;border:1px solid var(--line);border-radius:var(--radius);padding:1.7rem;text-decoration:none;color:var(--ink);background:#fff}
.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(15,118,110,.25)}
.feature-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:var(--soft-jade);color:var(--accent);font-size:1.5rem}
.feature-card h3{font-size:1.3rem;margin:1.3rem 0 .65rem;font-weight:790}
.feature-card p{color:var(--muted);line-height:1.65}.feature-card span{color:var(--accent);font-weight:780;font-size:.9rem}
.principle-panel{border-radius:30px;padding:3rem;display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;background:linear-gradient(135deg,#10263a,#173a4a);color:#fff}
.principle-list>div{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.12);color:#d9e4e6}.principle-list strong{color:#69d4c6}
.inner-hero{padding:9rem 0;min-height:65vh;background:linear-gradient(135deg,#f1faf7,#fff)}
.inner-hero p{max-width:650px;color:var(--muted);font-size:1.1rem;line-height:1.7;margin:1.5rem 0}
.primary-link{display:inline-block;text-decoration:none}
.site-footer{background:#102031;color:#afbdc7;padding:4rem 0 1.5rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:3rem}
.footer-brand{font-size:1.72rem}
.footer-brand .findlyra-logo__find{color:#fff}
.site-footer h6{color:#fff;font-weight:760}
.site-footer a:not(.brand){display:block;color:#afbdc7;text-decoration:none;margin:.55rem 0}.site-footer a:not(.brand):hover{color:#77d6ca}
.site-footer p{line-height:1.7;max-width:420px}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:3rem;padding-top:1.3rem;font-size:.85rem}

/* Product catalog */
.catalog-hero{
  padding:clamp(3.8rem,6vw,6.5rem) 0 5.5rem;
  background:
    radial-gradient(circle at 82% 22%,rgba(20,184,166,.15),transparent 27rem),
    radial-gradient(circle at 12% 85%,rgba(216,139,31,.09),transparent 23rem),
    linear-gradient(180deg,#fff,#f3faf7);
  overflow:hidden;
}
.catalog-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);align-items:center;gap:clamp(30px,6vw,90px)}
.catalog-hero h1{font-size:clamp(3rem,6vw,5.2rem);line-height:.96;letter-spacing:-.07em;font-weight:850;margin:0}
.catalog-hero p{max-width:700px;color:var(--muted);line-height:1.75;font-size:1.1rem;margin:1.5rem 0}
.catalog-search>i{color:var(--muted);padding-left:10px}
.catalog-hero-points{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:18px;color:#617080;font-size:.82rem;font-weight:750}
.catalog-hero-points span{display:inline-flex;align-items:center;gap:7px}.catalog-hero-points i{color:var(--accent)}

.catalog-discovery-flow{position:relative;min-height:440px;max-width:560px;width:100%;margin-inline:auto}
.catalog-flow-orbit{position:absolute;border:1px solid rgba(15,118,110,.13);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.catalog-flow-orbit-one{width:410px;height:410px}.catalog-flow-orbit-two{width:285px;height:285px;border-style:dashed}
.catalog-flow-search{position:absolute;top:6%;left:50%;transform:translateX(-50%);min-width:225px;display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:17px;background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:0 18px 45px rgba(23,32,51,.10);z-index:2}
.catalog-flow-search>i{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--soft-jade);color:var(--accent)}
.catalog-flow-search small,.catalog-flow-search strong{display:block}.catalog-flow-search small{font-size:.62rem;letter-spacing:.1em;font-weight:900;color:var(--muted)}.catalog-flow-search strong{font-size:.86rem;margin-top:3px}
.catalog-flow-products{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);display:flex;gap:14px;width:max-content;z-index:2}
.catalog-flow-product{width:155px;padding:16px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 38px rgba(23,32,51,.08)}
.catalog-flow-product strong,.catalog-flow-product small{display:block}.catalog-flow-product strong{font-size:.88rem;margin-top:10px}.catalog-flow-product small{font-size:.7rem;color:var(--muted);margin-top:3px}
.catalog-flow-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--soft);color:var(--accent)}
.catalog-flow-core{position:absolute;left:50%;bottom:8%;transform:translateX(-50%);width:210px;min-height:126px;border-radius:24px;background:linear-gradient(145deg,var(--ink),#213453);box-shadow:0 24px 55px rgba(23,32,51,.22);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;z-index:2}
.catalog-flow-core>span{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:var(--accent);margin-bottom:8px}.catalog-flow-core strong{font-size:.95rem}.catalog-flow-core small{font-size:.67rem;color:rgba(255,255,255,.66);margin-top:4px}
.catalog-flow-step{position:absolute;padding:9px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px rgba(23,32,51,.08);font-size:.72rem;font-weight:800;color:var(--ink)}
.catalog-flow-step span{color:var(--accent);margin-right:5px}.catalog-flow-step-one{left:1%;top:28%}.catalog-flow-step-two{right:0;top:48%}.catalog-flow-step-three{right:7%;bottom:18%}
.catalog-space{padding:4.5rem 0 7rem}.catalog-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem}
.catalog-toolbar h2{font-size:2.1rem;letter-spacing:-.045em;font-weight:830;margin:0}
.filter-trigger{display:none;border:1px solid var(--line);background:#fff;border-radius:12px;padding:.75rem 1rem;font-weight:750;color:var(--ink)}
.category-strip{display:flex;gap:1rem;overflow-x:auto;padding:2rem 0 2.5rem;scrollbar-width:none}
.category-chip{flex:0 0 190px;display:flex;align-items:center;gap:.8rem;border:1px solid var(--line);background:#fff;border-radius:18px;padding:1rem;text-align:left;text-decoration:none;color:inherit}
.category-chip:hover,.category-chip.active{border-color:rgba(15,118,110,.45);box-shadow:0 12px 30px rgba(23,32,51,.07);background:#fbfffe}
.category-chip.active{background:var(--soft-jade)}.category-icon{font-size:1.8rem;color:var(--accent)}
.category-chip strong{display:block;font-size:.95rem}.category-chip small{display:block;color:var(--muted);margin-top:.2rem}
.listing-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:2rem}
.filters-panel{border:1px solid var(--line);border-radius:20px;padding:1.35rem;height:max-content;position:sticky;top:96px;background:#fff}
.filter-title-row{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.filter-title-row h3{font-size:1.15rem;margin:0;font-weight:820}.filter-title-row a{color:var(--accent);font-size:.9rem}
.filter-group{padding:1.2rem 0;border-bottom:1px solid var(--line)}.filter-group:last-child{border:0}
.filter-group h4{font-size:.88rem;font-weight:820;margin-bottom:.8rem}
.filter-link{display:flex;justify-content:space-between;text-decoration:none;color:#586174;padding:.58rem .65rem;border-radius:10px;margin:.22rem 0}
.filter-link.selected,.filter-link:hover{background:var(--soft-jade);color:var(--accent);font-weight:750}
.results-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem}
.results-bar p{margin:0;color:var(--muted)}.results-bar select{border:1px solid var(--line);border-radius:11px;padding:.7rem .8rem;background:#fff;font-size:.9rem;outline:none;color:var(--ink)}
.results-bar select:focus{border-color:var(--accent)}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.product-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}
.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(15,118,110,.2)}
.product-visual{height:210px;background:linear-gradient(145deg,#f5f9f8,#e9f1ef);position:relative;display:grid;place-items:center;overflow:hidden}
.product-card-image{width:100%;height:100%;display:block;object-fit:contain;padding:14px;transition:transform .28s ease}
.product-card:hover .product-card-image{transform:scale(1.035)}
.product-emoji{font-size:5rem;color:var(--accent);filter:drop-shadow(0 15px 12px rgba(23,32,51,.12))}
.product-badge-row{position:absolute;top:12px;left:12px;right:12px;display:flex;align-items:center;gap:.4rem;z-index:2;flex-wrap:wrap}
.product-badge{position:static;background:#fff;color:var(--accent);border:1px solid rgba(15,118,110,.1);border-radius:20px;padding:.35rem .65rem;font-size:.72rem;font-weight:820}
.product-source-badge{display:inline-flex;align-items:center;gap:.3rem;max-width:100%;background:#172033;color:#fff;border-radius:20px;padding:.35rem .6rem;font-size:.68rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.source-count strong{color:var(--ink)}
.compare-toggle{position:absolute;right:10px;top:10px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:1.1rem;color:var(--ink);z-index:5;display:grid;place-items:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-shadow:0 4px 12px rgba(23,32,51,.08)}
.compare-toggle:hover,.compare-toggle:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 6px 18px rgba(23,32,51,.14)}
.compare-toggle:active{transform:scale(.96)}
.compare-toggle.selected{background:var(--accent);color:#fff;border-color:var(--accent)}
.product-info{padding:1.15rem}.product-meta{font-size:.72rem;color:var(--muted);font-weight:720}
.product-info h3{font-size:1rem;line-height:1.4;margin:.45rem 0 .65rem;font-weight:790;min-height:2.8em}
.rating{font-size:.82rem;color:var(--amber)}.rating span{color:var(--muted)}
.price-row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin:.75rem 0}.price-row strong{font-size:1.25rem}.price-row del{font-size:.78rem;color:#98a2b3}
.price-row em{font-size:.72rem;font-style:normal;color:#13795b;background:#edf9f4;padding:.18rem .4rem;border-radius:99px;font-weight:820}
.source-count{font-size:.72rem;color:var(--muted);margin-bottom:.85rem}
.product-source-check{display:flex;align-items:flex-start;gap:.35rem;color:#58706c;font-size:.68rem;line-height:1.35;font-weight:700;margin:-.35rem 0 .8rem}
.product-source-check i{color:var(--accent);font-size:.7rem;margin-top:.08rem;flex:0 0 auto}
.view-product{border:0;background:none;padding:0;color:var(--accent);font-size:.86rem;font-weight:820;text-decoration:none}.view-product:hover{color:var(--accent-strong)}
.product-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;margin-top:.15rem}
.product-card-actions .view-product{margin-right:auto}
.product-card-action{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;min-height:40px;padding:.45rem .6rem;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.product-card-action:hover,.product-card-action:focus-visible{border-color:rgba(15,118,110,.38);color:var(--accent);outline:none}
.product-vote-button.is-voted{background:var(--soft-jade);border-color:rgba(15,118,110,.3);color:var(--accent-strong)}
.product-vote-button.is-loading{opacity:.65;cursor:wait}
.product-vote-count{min-width:1ch}
@media(max-width:520px){
  .product-card-actions{gap:.45rem}
  .product-card-actions .view-product{width:100%;margin-right:0}
  .product-card-action{flex:1;min-width:0;min-height:44px}
}
.empty-state{text-align:center;padding:5rem 1rem;border:1px dashed #cfd9d6;border-radius:20px;background:#fbfdfc}.empty-state>div{font-size:3rem;color:var(--accent)}.empty-state p{color:var(--muted)}
.database-notice{margin-bottom:1.5rem;padding:1rem 1.1rem;border:1px solid #edcf8c;background:var(--amber-soft);border-radius:14px;color:#6d4c14}
.pagination-box{display:flex;justify-content:center;gap:.4rem;margin-top:2.5rem}.pagination-box a{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;text-decoration:none;color:var(--ink);background:#fff}
.pagination-box a:hover{border-color:var(--accent);color:var(--accent)}.pagination-box .active{background:var(--accent);color:#fff;border-color:var(--accent)}

/* Product detail and comparison */
.product-detail-hero,.compare-hero{padding:3.5rem 0 2.5rem;background:linear-gradient(135deg,#eff9f6,#fff)}
.breadcrumbs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem;color:var(--muted);font-size:.85rem}.breadcrumbs a{color:var(--accent);text-decoration:none}
.detail-layout{display:grid;grid-template-columns:1fr 1.3fr .8fr;gap:2rem}
.detail-visual{min-height:330px;background:linear-gradient(145deg,#f6faf9,#edf4f1);border:1px solid var(--line);border-radius:26px;display:grid;place-items:center;position:relative}
.detail-symbol{font-size:5rem;color:var(--accent)}
.detail-main h1,.compare-hero h1{font-size:clamp(2.2rem,4vw,4rem);line-height:1.05;margin:.5rem 0;letter-spacing:-.055em}
.detail-summary{color:var(--muted);line-height:1.7}.detail-rating{color:var(--amber);font-weight:700}.detail-rating span{color:var(--muted);font-weight:500}
.variant-row{margin:1.5rem 0}.variant-row>strong{display:block;margin-bottom:.55rem}.variant-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.55rem .8rem;margin:.2rem;color:var(--ink)}
.detail-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}.primary-action,.secondary-action{padding:.85rem 1.1rem;border-radius:12px;font-weight:800;text-decoration:none;display:inline-flex;justify-content:center;align-items:center}
.secondary-action{border:1px solid var(--line);color:var(--ink);background:#fff}.secondary-action:hover{border-color:var(--accent);color:var(--accent)}
.best-price-card{background:linear-gradient(145deg,#14213d,#1b304a);color:#fff;border-radius:22px;padding:1.4rem;display:flex;flex-direction:column;gap:.6rem;box-shadow:0 18px 40px rgba(20,33,61,.14)}
.best-price-card>span{font-size:.85rem;color:#d6e0e5;letter-spacing:.03em}.best-price-card strong{font-size:2rem}.price-trust{color:#7de1d1;font-size:.85rem}
.detail-section,.compare-section{padding-top:4rem}.offer-table-wrap,.compare-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff}
.offer-table,.compare-table{border-collapse:collapse;width:100%;min-width:680px}.offer-table th,.offer-table td,.compare-table th,.compare-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--line)}
.offer-table th,.compare-table th,.compare-table td:first-child{background:#f7faf9}.best-offer{background:#f2fbf7}.best-label{display:block;color:#13795b;font-size:.68rem;font-weight:850}.offer-price{font-weight:900}
.live-note{color:var(--accent);font-weight:700}.spec-foundation{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.spec-foundation>div{border:1px solid var(--line);border-radius:14px;padding:1rem;background:#fff}
.compare-empty{text-align:center;padding:5rem 1rem}.compare-empty-icon,.compare-product-symbol{color:var(--accent)}.compare-empty-icon{font-size:4rem}.compare-product-symbol{font-size:2rem}.compare-table td:first-child{font-weight:800}

/* Responsive */
@media(max-width:1199px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* =========================================================
   Sprint 6.1 — Global UI component foundation
   These primitives are additive so existing Sprint 5.x UI
   and functionality remain unchanged.
   ========================================================= */
.ui-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}
.ui-card--soft{background:var(--soft);box-shadow:none}
.ui-card--interactive{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.ui-card--interactive:hover{transform:translateY(-3px);border-color:rgba(15,118,110,.28);box-shadow:var(--shadow)}

.ui-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:44px;padding:.72rem 1rem;border-radius:13px;
  border:1px solid transparent;font-weight:800;text-decoration:none;
  cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;
}
.ui-btn:hover{transform:translateY(-1px)}
.ui-btn--primary{
  color:#fff;background:linear-gradient(135deg,var(--accent-strong),var(--accent-bright));
  box-shadow:0 10px 24px rgba(15,118,110,.18);
}
.ui-btn--primary:hover{color:#fff}
.ui-btn--secondary{color:var(--ink);background:#fff;border-color:var(--line)}
.ui-btn--secondary:hover{color:var(--accent-strong);border-color:rgba(15,118,110,.32)}
.ui-btn--ghost{color:var(--accent-strong);background:var(--soft-jade)}
.ui-btn--block{width:100%}

.ui-badge{
  display:inline-flex;align-items:center;gap:.35rem;width:max-content;
  padding:.38rem .62rem;border-radius:999px;
  font-size:.75rem;line-height:1;font-weight:800;
  background:var(--soft-jade);color:var(--accent-strong);
}
.ui-badge--amber{background:var(--amber-soft);color:#a76000}
.ui-badge--dark{background:var(--dark);color:#fff}

.ui-section{padding:var(--space-8) 0}
.ui-eyebrow{
  margin:0 0 var(--space-3);
  color:var(--accent);font-size:.73rem;font-weight:850;
  letter-spacing:.16em;text-transform:uppercase;
}
.ui-muted{color:var(--muted)}
.ui-divider{height:1px;background:var(--line);border:0;margin:var(--space-6) 0}

@media(max-width:991px){
  .hero-section .container{grid-template-columns:1fr}.hero-content{padding:4.5rem 0 1rem}.hero-orbit{height:350px}
  .section-heading,.principle-panel{grid-template-columns:1fr;display:grid}.footer-grid{grid-template-columns:1fr 1fr}
  .filter-trigger{display:block}.listing-layout{grid-template-columns:1fr}.filters-panel{display:none;position:static}.filters-panel.mobile-open{display:block}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){.detail-layout{grid-template-columns:1fr 1fr}.best-price-card{grid-column:1/-1;flex-direction:row;justify-content:space-between}.detail-visual{min-height:250px}}
@media(max-width:767px){
  .catalog-hero{padding:4.5rem 0 3.5rem}.catalog-space{padding:3rem 0 6rem}.catalog-toolbar h2{font-size:1.65rem}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.product-visual{height:155px}.product-emoji{font-size:3.8rem}.product-info{padding:.9rem}.product-info h3{font-size:.88rem}
  .compare-bar{width:calc(100% - 20px);bottom:10px;gap:.25rem;font-size:.75rem;padding:.65rem .7rem}.compare-bar>div{width:100%}.compare-bar>div:last-child{margin-left:0;gap:.35rem}.compare-bar .compare-now{flex:1;padding:.55rem .65rem}.compare-bar button{padding:.45rem .45rem}.results-bar select{max-width:160px}
}
.compare-bar{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:30;width:min(760px,calc(100% - 24px));box-sizing:border-box;background:#102031;color:#fff;border-radius:16px;padding:.8rem .9rem .8rem 1.1rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem 1.5rem;flex-wrap:wrap;box-shadow:0 20px 50px rgba(0,0,0,.22)}
.compare-bar>div:last-child{display:flex;align-items:center;gap:.35rem;margin-left:auto}
.compare-bar button{border:0;background:transparent;color:#c8d4dc;font-weight:700;min-height:44px;padding:.45rem .6rem;cursor:pointer}
.compare-bar .compare-now{background:var(--accent);color:#fff;border-radius:10px;padding:.65rem .9rem;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box}
@media(max-width:640px){.detail-layout{grid-template-columns:1fr}.best-price-card{grid-column:auto;flex-direction:column}.detail-actions{flex-direction:column}.detail-actions a{width:100%}.spec-foundation{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:575px){.navbar{min-height:66px}.hero-section{min-height:auto}.hero-content{padding:4rem 0 1rem}.hero-search{border-radius:16px}.hero-search button{padding:.8rem 1rem}.hero-orbit{height:300px;transform:scale(.82);transform-origin:top center;margin-bottom:-40px}.section-space{padding:4rem 0}.principle-panel{padding:1.6rem;border-radius:24px}.footer-grid{grid-template-columns:1fr;gap:1.6rem}.inner-hero{padding:6rem 0}.nav-link{padding:.75rem 0!important}}
@media(max-width:420px){.catalog-search button{padding:.75rem .85rem}.results-bar{align-items:flex-start;gap:.7rem}.results-bar select{font-size:.78rem}.product-visual{height:135px}.product-emoji{font-size:3.2rem}.product-info h3{min-height:3.9em}.price-row strong{font-size:1.05rem}}


/* Sprint 5.2 refinements: calmer home, mobile-first catalog and inline advertising */
.platform-section{width:100%}
.ad-showcase-section{padding:0 0 2rem}
.ad-showcase-heading h2{font-size:clamp(1.7rem,3vw,2.6rem);letter-spacing:-.04em;margin:0 0 1.5rem}
.home-ad-row{display:flex;justify-content:flex-start}

.ad-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 16px 42px rgba(23,32,51,.09);
  min-width:0;
  align-self:start;
}
.product-grid>.ad-card{width:100%;height:100%}
.home-ad-row>.ad-card{width:min(330px,100%)}
.ad-label{
  position:absolute;z-index:3;top:12px;left:12px;
  background:rgba(23,32,51,.82);color:#fff;border-radius:999px;
  padding:.28rem .62rem;font-size:.68rem;font-weight:800;letter-spacing:.04em;
  backdrop-filter:blur(8px)
}
.ad-media{
  position:relative;width:100%;aspect-ratio:9/16;background:#edf3f1;overflow:hidden;
  display:grid;place-items:center
}
.ad-media video,.ad-media img{width:100%;height:100%;object-fit:cover;display:block}
.ad-play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:58px;height:58px;border:0;border-radius:50%;
  background:rgba(255,255,255,.92);color:var(--accent-strong);
  font-size:1.25rem;box-shadow:0 10px 28px rgba(0,0,0,.18);
  display:grid;place-items:center
}
.ad-card.is-playing .ad-play{opacity:0;pointer-events:none}
.ad-caption{padding:.85rem 1rem;display:grid;gap:.2rem}
.ad-caption strong{font-size:.9rem}
.ad-caption span{font-size:.78rem;color:var(--muted);line-height:1.45}

.admin-section{padding:5rem 0 7rem;background:linear-gradient(180deg,#f7fbfa,#fff)}
.admin-heading h1{font-size:clamp(2.2rem,5vw,4rem);letter-spacing:-.055em;margin:.2rem 0 1rem}
.admin-heading p{max-width:700px;color:var(--muted)}
.ad-form{margin-top:2rem;background:#fff;border:1px solid var(--line);border-radius:24px;padding:1.5rem;box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.form-grid label{display:grid;gap:.45rem;font-size:.85rem;font-weight:750;color:var(--ink)}
.form-grid label.wide{grid-column:1/-1}
.form-grid input,.form-grid textarea,.form-grid select{width:100%;border:1px solid var(--line);border-radius:12px;padding:.78rem .85rem;font:inherit;color:var(--ink);background:#fff}
.form-grid small{color:var(--muted);font-weight:500}
.ad-form .primary-action{margin-top:1.25rem;border:0}
.admin-message{margin-top:1.5rem;padding:.9rem 1rem;border-radius:14px}
.admin-message.success{background:#edf9f4;color:#13795b;border:1px solid #bde9d6}
.admin-message.error{background:#fff4f2;color:#a33a2a;border:1px solid #f2c8c1}
.admin-list{margin-top:3rem}.admin-list h2{font-size:1.45rem;font-weight:820}
.admin-ad-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.admin-ad-item{border:1px solid var(--line);border-radius:16px;padding:1rem;display:grid;gap:.3rem;background:#fff}
.admin-ad-item span,.admin-ad-item small,.muted-copy{color:var(--muted);font-size:.82rem}

@media(max-width:991px){
  .hero-section .container{grid-template-columns:1fr}
}
@media(max-width:767px){
  .hero-orbit{display:none!important}
  .hero-section{min-height:auto}
  .hero-content{padding:3.4rem 0 3.8rem!important}
  .hero-section .container{display:block}
  .platform-section,.section-space{padding-left:0;padding-right:0}
  .section-heading{width:100%;margin-left:0;margin-right:0;gap:1.25rem}
  .section-heading>p{max-width:100%}
  .product-grid{grid-template-columns:1fr!important;gap:1rem}
  .product-grid>.ad-card{max-width:390px;margin:0 auto}
  .product-card{width:100%}
  .product-visual{height:220px}
  .product-info{padding:1.1rem}
  .product-info h3{font-size:1.02rem;min-height:0}
  .form-grid,.admin-ad-grid{grid-template-columns:1fr}
  .form-grid label.wide{grid-column:auto}
}
@media(max-width:575px){
  .container{padding-left:20px;padding-right:20px}
  .section-space{padding-top:3.8rem;padding-bottom:3.8rem}
  .section-heading h2{font-size:2rem;line-height:1.08}
  .section-heading>p{font-size:1rem}
  .hero-section h1{font-size:clamp(2.8rem,14vw,4.2rem)}
  .hero-copy{font-size:1rem}
  .ad-showcase-section{padding-bottom:1rem}
  .home-ad-row{justify-content:center}
  .home-ad-row>.ad-card{width:min(300px,100%)}
}


/* Sprint 5.2.1 advertisement playback reliability */
.inline-ad-video{background:#e9f0ee;cursor:pointer}
.ad-media-error{
  position:absolute;inset:auto 12px 12px 12px;z-index:4;
  padding:.55rem .7rem;border-radius:10px;
  background:rgba(20,32,61,.86);color:#fff;font-size:.75rem;
  text-align:center
}
.ad-play{cursor:pointer;transition:opacity .18s ease,transform .18s ease}
.ad-play:hover{transform:translate(-50%,-50%) scale(1.05)}
.ad-card.is-playing .ad-play{opacity:0;pointer-events:none}
.ad-card .inline-ad-video:focus{outline:2px solid var(--accent-bright);outline-offset:-3px}


/* Sprint 5.3 — Product detail sharing */
.detail-product-image{width:100%;height:100%;max-height:420px;object-fit:contain;padding:1.25rem;border-radius:26px}
.share-trigger{cursor:pointer;font-family:inherit}
.share-modal-open{overflow:hidden}
.share-modal[hidden]{display:none!important}
.share-modal{
  position:fixed;inset:0;z-index:1055;
  display:grid;place-items:center;padding:1rem;
}
.share-modal__backdrop{
  position:absolute;inset:0;background:rgba(16,32,49,.58);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.share-sheet{
  position:relative;z-index:1;width:min(560px,100%);
  max-height:min(86vh,760px);overflow:auto;
  background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%);
  border:1px solid rgba(255,255,255,.8);border-radius:28px;
  box-shadow:0 28px 90px rgba(16,32,49,.32);
  padding:1.5rem;
  transform:translateY(18px) scale(.985);opacity:0;
  transition:transform .22s ease,opacity .22s ease;
}
.share-modal.is-open .share-sheet{transform:translateY(0) scale(1);opacity:1}
.share-close{
  position:absolute;right:1rem;top:1rem;width:38px;height:38px;border-radius:50%;
  border:1px solid var(--line);background:#fff;color:var(--ink);font-size:1.45rem;
  line-height:1;display:grid;place-items:center;cursor:pointer
}
.share-close:hover{border-color:var(--accent);color:var(--accent)}
.share-sheet__eyebrow{font-size:.72rem;font-weight:850;letter-spacing:.16em;color:var(--accent);margin:.15rem 0 .5rem}
.share-sheet h2{font-size:clamp(1.75rem,4vw,2.5rem);letter-spacing:-.045em;margin:0 3rem 1.2rem 0;line-height:1.08}
.share-preview{
  display:grid;grid-template-columns:108px minmax(0,1fr);gap:1rem;
  align-items:center;padding:1rem;border:1px solid var(--line);
  border-radius:20px;background:linear-gradient(145deg,#f4faf8,#fff)
}
.share-preview__media{
  width:108px;height:124px;border-radius:16px;overflow:hidden;
  background:linear-gradient(145deg,#eaf4f1,#dfece8);display:grid;place-items:center
}
.share-preview__media img{width:100%;height:100%;object-fit:cover;display:block}
.share-preview__fallback{font-size:3rem;color:var(--accent)}
.share-preview__category{font-size:.72rem;font-weight:800;color:var(--accent);letter-spacing:.04em;margin-bottom:.25rem}
.share-preview h3{font-size:1rem;line-height:1.35;margin:0 0 .45rem;font-weight:820}
.share-preview strong{font-size:1.1rem}
.share-sheet__copy{color:var(--muted);font-size:.9rem;line-height:1.6;margin:1rem 0}
.share-actions{display:grid;gap:.65rem}
.share-option{
  width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:.8rem;
  align-items:center;text-align:left;padding:.78rem .9rem;border:1px solid var(--line);
  background:#fff;border-radius:16px;color:var(--ink);font-family:inherit;cursor:pointer
}
.share-option:hover{border-color:rgba(15,118,110,.42);box-shadow:0 10px 24px rgba(23,32,51,.06)}
.share-option__icon{
  width:42px;height:42px;border-radius:13px;display:grid;place-items:center;
  background:var(--soft-jade);color:var(--accent-strong);font-weight:900;font-size:1.05rem
}
.share-option strong{display:block;font-size:.95rem;margin-bottom:.1rem}
.share-option small{display:block;color:var(--muted);font-size:.78rem}
.share-option>b{font-size:1.35rem;color:#98a2b3;font-weight:500}
.share-option--more{background:#f8fbfa}
.share-feedback{
  min-height:0;margin-top:0;color:#13795b;font-size:.82rem;font-weight:700;
  opacity:0;transform:translateY(-4px);transition:.18s ease
}
.share-feedback.is-visible{margin-top:.75rem;opacity:1;transform:translateY(0)}

@media(max-width:640px){
  .detail-actions .secondary-action,.detail-actions .primary-action{width:100%}
  .share-modal{align-items:end;padding:0}
  .share-sheet{
    width:100%;max-height:88vh;border-radius:26px 26px 0 0;
    padding:1.2rem 1rem calc(1.2rem + env(safe-area-inset-bottom));
    transform:translateY(100%);opacity:1;
  }
  .share-modal.is-open .share-sheet{transform:translateY(0)}
  .share-preview{grid-template-columns:82px minmax(0,1fr);gap:.8rem;padding:.8rem}
  .share-preview__media{width:82px;height:96px;border-radius:14px}
  .share-sheet h2{font-size:1.65rem;margin-bottom:1rem}
  .share-option{padding:.7rem .75rem}
  .share-option__icon{width:40px;height:40px}
}


/* Sprint 5.4 — Enhanced visual sharing */
.share-option--featured{
  border-color:rgba(23,118,111,.28);
  background:linear-gradient(135deg,#eff9f6,#ffffff);
  box-shadow:0 10px 28px rgba(23,118,111,.08);
}
.share-option--featured .share-option__icon{
  background:linear-gradient(135deg,#17766f,#1d9589);
  color:#fff;
}
.share-option--featured:hover{border-color:var(--accent);box-shadow:0 14px 32px rgba(23,118,111,.15)}
@media(max-width:640px){
  .share-sheet__copy{font-size:.84rem;margin:.8rem 0}
  .share-option--featured{padding:.82rem .78rem}
}


/* Sprint 6.1 responsive foundation */
@media(max-width:767px){
  .navbar{min-height:68px}
  .site-brand{font-size:1.58rem}
  .footer-grid{grid-template-columns:1fr;gap:2.25rem}
  .footer-brand{font-size:1.72rem}
  .ui-section{padding:3.8rem 0}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* =========================================================
   Sprint 6.2 — Enhanced Product Detail Experience
   ========================================================= */
.product-detail-hero--enhanced{
  padding:2.8rem 0 3.2rem;
  background:
    radial-gradient(circle at 82% 12%,rgba(29,149,137,.14),transparent 24%),
    linear-gradient(135deg,#f1faf7 0%,#fff 54%,#f7fbfa 100%);
}
.detail-layout--enhanced{grid-template-columns:minmax(300px,1fr) minmax(380px,1.25fr) minmax(250px,.72fr);align-items:start}
.detail-gallery{min-width:0}
.detail-visual--gallery{min-height:470px;overflow:hidden;box-shadow:0 18px 46px rgba(23,32,51,.07)}
.detail-image-stage{width:100%;height:100%;min-height:470px;display:grid;place-items:center;padding:2rem}
.detail-product-image--main{max-width:100%;max-height:430px;width:auto;height:auto;object-fit:contain;padding:0;border-radius:18px;transition:opacity .18s ease,transform .18s ease}
.detail-thumbnail.is-active{border-color:var(--accent);box-shadow:0 8px 18px rgba(23,118,111,.12)}
.detail-thumbnails{display:flex;gap:.7rem;overflow-x:auto;padding:.9rem .1rem .2rem}
.detail-thumbnail{flex:0 0 74px;width:74px;height:74px;padding:.3rem;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;cursor:pointer}
.detail-thumbnail img{width:100%;height:100%;object-fit:contain;border-radius:10px;display:block}
.detail-symbol--fallback{width:150px;height:150px;border-radius:36px;background:linear-gradient(145deg,#17766f,#1d9589);color:#fff;display:grid;place-items:center;font-size:5rem;font-weight:850;box-shadow:0 22px 40px rgba(23,118,111,.22)}
.detail-image-empty{position:absolute;bottom:1.3rem;color:var(--muted);font-size:.8rem}
.detail-main--enhanced{padding:.4rem 0}
.detail-rating-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:.85rem 0 1rem}
.detail-source-chip{font-size:.76rem;font-weight:780;color:var(--accent-strong);background:var(--soft-jade);border-radius:999px;padding:.35rem .6rem}
.detail-price-highlight{margin:1.35rem 0;padding:1rem 1.1rem;border:1px solid rgba(15,118,110,.16);border-radius:18px;background:linear-gradient(135deg,#eff9f6,#fff)}
.detail-price-highlight>span{display:block;color:var(--muted);font-size:.75rem;font-weight:760;text-transform:uppercase;letter-spacing:.07em}
.detail-price-highlight>strong{display:block;font-size:clamp(1.8rem,3vw,2.65rem);letter-spacing:-.04em;margin:.25rem 0;color:var(--ink)}
.detail-price-highlight del{color:#98a2b3;font-size:.86rem;margin-right:.55rem}
.detail-price-highlight em{font-style:normal;font-size:.75rem;color:#13795b;background:#e7f7ef;padding:.25rem .5rem;border-radius:999px;font-weight:820}
.detail-quick-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1.1rem 0}
.detail-quick-facts>div{padding:.75rem .8rem;border:1px solid var(--line);border-radius:13px;background:#fff}
.detail-quick-facts span{display:block;color:var(--muted);font-size:.67rem;font-weight:760;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.2rem}
.detail-quick-facts strong{display:block;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.detail-actions--enhanced{margin-top:1.3rem}
.detail-actions--enhanced .secondary-action{font-family:inherit;cursor:pointer}
.detail-action-feedback{min-height:1.25rem;margin:.7rem 0 0;color:#13795b;font-size:.82rem;font-weight:700}
.best-price-card--enhanced{position:sticky;top:98px;border:1px solid rgba(255,255,255,.08)}
.best-price-card__top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.best-price-live{font-size:.65rem!important;color:#7de1d1!important}
.best-offer-link{margin-top:.35rem;padding:.72rem .8rem;border-radius:12px;background:#fff;color:#172033;text-decoration:none;text-align:center;font-size:.85rem;font-weight:850}
.best-offer-link:hover{color:var(--accent-strong)}
.detail-section--offers{padding-top:4.5rem;padding-bottom:1rem}
.detail-section--offers .section-heading{
  display:flex;
  width:100%;
  margin-bottom:1.5rem;
}
.detail-section--offers .section-heading>div{max-width:780px}
.offer-card-grid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1.15rem;
  align-items:stretch;
}
.offer-card{position:relative;border:1px solid var(--line);border-radius:20px;background:#fff;padding:1.15rem;display:flex;flex-direction:column;gap:.9rem;min-height:260px;box-shadow:var(--shadow-sm)}
.offer-card--best{border-color:rgba(15,118,110,.36);background:linear-gradient(155deg,#f0fbf7,#fff);box-shadow:0 16px 38px rgba(23,118,111,.10)}
.offer-card__badge{position:absolute;right:12px;top:12px;background:var(--accent);color:#fff;border-radius:999px;padding:.32rem .55rem;font-size:.65rem;font-weight:850}
.offer-card__source{display:flex;align-items:center;gap:.7rem;padding-right:3.8rem}
.offer-source-mark{width:42px;height:42px;border-radius:13px;background:var(--soft-jade);color:var(--accent-strong);display:grid;place-items:center;font-weight:900}
.offer-card__source strong,.offer-card__source small{display:block}.offer-card__source strong{font-size:.9rem}.offer-card__source small{color:var(--muted);font-size:.7rem;margin-top:.12rem}
.offer-card__price{font-size:1.65rem;font-weight:880;letter-spacing:-.035em}
.offer-card__meta{display:flex;justify-content:space-between;gap:.5rem;color:var(--muted);font-size:.76rem}
.offer-card__meta span:last-child{color:#13795b;font-weight:800}
.offer-card__availability{font-size:.75rem;color:var(--muted)}
.offer-card__cta{margin-top:auto;display:flex;align-items:center;justify-content:center;padding:.72rem;border-radius:12px;background:#172033;color:#fff;text-decoration:none;font-weight:820;font-size:.84rem}
.offer-card--best .offer-card__cta{background:var(--accent)}
.offer-card__cta:hover{color:#fff;filter:brightness(1.04)}
.detail-section--specs{padding-top:4.5rem}
.spec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.spec-item{padding:1rem 1.05rem;border:1px solid var(--line);border-radius:16px;background:#fff}
.spec-item span{display:block;color:var(--muted);font-size:.72rem;font-weight:760;text-transform:uppercase;letter-spacing:.055em;margin-bottom:.35rem}
.spec-item strong{font-size:.94rem;line-height:1.45}
.detail-section--related{padding-top:4.5rem;padding-bottom:6rem}
.section-link{color:var(--accent);font-weight:820;text-decoration:none;white-space:nowrap}
.related-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.related-product-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.related-product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(15,118,110,.24)}
.related-product-card__visual{height:185px;display:grid;place-items:center;background:linear-gradient(145deg,#f4f9f7,#e7f0ed);text-decoration:none;overflow:hidden}
.related-product-card__visual img{width:100%;height:100%;object-fit:contain;padding:.8rem}
.related-product-card__visual span{font-size:3rem;font-weight:850;color:var(--accent)}
.related-product-card__body{padding:1rem}
.related-product-card__body small{display:block;color:var(--muted);font-size:.7rem;font-weight:700}
.related-product-card__body h3{font-size:.96rem;line-height:1.35;margin:.5rem 0 1rem;min-height:2.6em}
.related-product-card__bottom{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.related-product-card__bottom strong{font-size:1rem}.related-product-card__bottom a{color:var(--accent);text-decoration:none;font-weight:820;font-size:.8rem}
@media(max-width:1199px){
  .detail-layout--enhanced{grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr)}
  .best-price-card--enhanced{grid-column:1/-1;position:static;display:grid;grid-template-columns:1.2fr auto auto auto auto;align-items:center}
  .best-price-card--enhanced .best-offer-link{margin-top:0}
  .related-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .detail-layout--enhanced{grid-template-columns:1fr}
  .detail-visual--gallery,.detail-image-stage{min-height:360px}
  .best-price-card--enhanced{grid-column:auto;display:flex;position:static}
  .detail-quick-facts{max-width:620px}
}
@media(max-width:767px){
  .product-detail-hero--enhanced{padding-top:1.7rem}
  .breadcrumbs{margin-bottom:1.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .detail-visual--gallery,.detail-image-stage{min-height:300px}
  .detail-image-stage{padding:1.25rem}
  .detail-product-image--main{max-height:280px}
  .detail-main h1{font-size:2.15rem}
  .detail-quick-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .detail-actions--enhanced{display:grid;grid-template-columns:1fr 1fr}
  .detail-actions--enhanced .primary-action,.detail-actions--enhanced .secondary-action{width:100%}
  .detail-actions--enhanced .share-trigger{grid-column:1/-1}
  .offer-card-grid{grid-template-columns:1fr}
  .spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .related-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .section-link{font-size:.85rem}
}
@media(max-width:520px){
  .detail-quick-facts,.spec-grid{grid-template-columns:1fr}
  .detail-actions--enhanced{grid-template-columns:1fr}
  .detail-actions--enhanced .share-trigger{grid-column:auto}
  .detail-thumbnail{flex-basis:64px;width:64px;height:64px}
  .related-product-grid{grid-template-columns:1fr}
  .related-product-card{display:grid;grid-template-columns:110px 1fr}
  .related-product-card__visual{height:100%}
  .related-product-card__body h3{min-height:0}
}



/* Sprint 6.6.13 — provider-fidelity product content */
.detail-section--source-content{
  padding-top:1rem;
  padding-bottom:1rem;
}
.source-content-card{
  border:1px solid rgba(15,118,110,.16);
  border-radius:22px;
  background:linear-gradient(135deg,#f7fcfa,#fff);
  box-shadow:var(--shadow-sm);
  padding:1.5rem;
}
.source-content-card__heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.source-content-card__heading h2{
  margin:0;
  font-size:clamp(1.45rem,2.5vw,2rem);
  letter-spacing:-.04em;
}
.source-content-card__heading p{
  margin:.45rem 0 0;
  color:var(--muted);
  max-width:760px;
}
.source-content-card__updated{
  flex:0 0 auto;
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  padding:.45rem .7rem;
  color:var(--muted);
  font-size:.72rem;
  font-weight:750;
}
.source-content-card__body{
  color:#394457;
  line-height:1.75;
  white-space:normal;
  max-height:420px;
  overflow:auto;
  padding:1rem 1.05rem;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
}
.source-content-card__link{
  display:inline-flex;
  margin-top:1rem;
  color:var(--accent);
  font-weight:820;
  text-decoration:none;
}
.source-content-card__link:hover{color:var(--accent-strong)}
@media(max-width:700px){
  .source-content-card__heading{flex-direction:column}
  .source-content-card__updated{align-self:flex-start}
}

/* Sprint 6.3 — Advanced comparison */
.compare-hero--advanced{padding:7rem 0 5.5rem;background:radial-gradient(circle at 80% 18%,rgba(20,184,166,.17),transparent 30%),linear-gradient(180deg,#fff,#f3faf7)}
.compare-section--advanced{padding:2.5rem 0 6rem}
.compare-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm);margin-bottom:1rem}
.compare-toolbar>div:first-child{display:flex;align-items:baseline;gap:.7rem}.compare-toolbar strong{font-weight:820}.compare-toolbar span{font-size:.86rem;color:var(--muted)}
.compare-toolbar__actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.compare-filter-button,.compare-add-button,.compare-clear-button{border:1px solid var(--line);background:#fff;color:var(--ink);padding:.68rem .9rem;border-radius:11px;font-weight:760;font-size:.85rem;text-decoration:none}
.compare-filter-button.is-active{background:var(--soft-jade);border-color:rgba(15,118,110,.35);color:var(--accent-strong)}
.compare-add-button{color:var(--accent);border-color:rgba(15,118,110,.2)}
.compare-clear-button{color:#a13b3b}
.compare-insight{display:flex;align-items:flex-start;gap:.8rem;padding:1rem 1.2rem;margin-bottom:1.2rem;border-radius:16px;background:linear-gradient(135deg,var(--soft-jade),#fff);border:1px solid rgba(15,118,110,.12)}
.compare-insight>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:rgba(15,118,110,.12);color:var(--accent)}
.compare-insight strong{font-size:.92rem}.compare-insight p{margin:.15rem 0 0;color:var(--muted);font-size:.85rem}
.compare-scroll--advanced{border:1px solid var(--line);border-radius:22px;overflow:auto;background:#fff;box-shadow:var(--shadow-sm)}
.compare-table--advanced{border-collapse:separate;border-spacing:0;width:100%;min-width:850px}
.compare-table--advanced th,.compare-table--advanced td{padding:1rem;border-bottom:1px solid var(--line);border-right:1px solid var(--line);vertical-align:middle;text-align:left}
.compare-table--advanced tr>*:last-child{border-right:0}.compare-table--advanced tbody tr:last-child>*{border-bottom:0}
.compare-label-head{width:190px;background:#f8faf9;position:sticky;left:0;z-index:4}
.compare-product-head{min-width:220px;width:calc((100% - 190px)/4);position:relative;background:#fff;padding-top:1.25rem!important}
.compare-product-link{display:block;text-decoration:none;color:var(--ink)}
.compare-product-media{height:145px;border-radius:15px;background:linear-gradient(145deg,#f3f8f6,#e3eeeb);overflow:hidden;display:grid;place-items:center;margin-bottom:.9rem}
.compare-product-media img{width:100%;height:100%;object-fit:cover}.compare-product-media span{font-size:3rem;font-weight:850;color:var(--accent)}
.compare-product-link small{color:var(--muted);font-size:.72rem;font-weight:750}.compare-product-link h3{font-size:1rem;line-height:1.35;margin:.25rem 0 .55rem;font-weight:820}.compare-view-link{font-size:.78rem;color:var(--accent);font-weight:760}
.compare-remove{position:absolute;top:.7rem;right:.7rem;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:#fff;color:#6b7280;font-size:1.25rem;line-height:1;z-index:2}.compare-remove:hover{color:#a13b3b;border-color:#efc4c4}
.compare-row-label{background:#fbfcfc;font-weight:780;color:#4b5563;position:sticky;left:0;z-index:2}
.compare-table--advanced tr.is-different .compare-row-label{background:#f0faf7;color:var(--accent-strong)}
.compare-value--different{background:rgba(239,248,246,.45)}
.compare-difference-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-left:.45rem;vertical-align:middle}
.compare-table--advanced.is-differences-only .is-same{display:none}
.compare-bottom-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem}
.compare-empty{max-width:680px;margin:3rem auto;text-align:center;padding:4rem 1.5rem;border:1px dashed #cbd7d4;border-radius:24px;background:#fbfdfc}.compare-empty-icon{font-size:3.2rem;color:var(--accent)}
@media(max-width:767px){
  .compare-hero--advanced{padding:5.5rem 0 4rem}.compare-toolbar{align-items:flex-start;flex-direction:column;padding:1rem}.compare-toolbar>div:first-child{flex-direction:column;gap:.1rem}
  .compare-toolbar__actions{width:100%}.compare-toolbar__actions>*{flex:1;text-align:center}
  .compare-scroll--advanced{margin-left:-.75rem;margin-right:-.75rem;border-radius:0;border-left:0;border-right:0}
  .compare-table--advanced{min-width:700px}.compare-table--advanced th,.compare-table--advanced td{padding:.8rem}.compare-label-head{width:125px;min-width:125px;box-shadow:5px 0 12px rgba(23,32,51,.06)}.compare-product-head{min-width:175px;width:175px}.compare-product-media{height:120px}.compare-bottom-actions{flex-direction:column}.compare-bottom-actions>*{text-align:center}.compare-filter-button,.compare-add-button,.compare-clear-button{min-height:44px}
}

/* Sprint 6.4 — Related discovery & smart product exploration */
.detail-section--discovery{padding-top:2.5rem}.section-heading--discovery{align-items:end}.discovery-signals{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.1rem 0 2rem}.discovery-signals span{border:1px solid var(--border,#dbe4e1);background:#fff;border-radius:999px;padding:.55rem .8rem;font-size:.82rem;font-weight:700;color:#35534f}.discovery-block{padding:1.35rem 0 2rem;border-top:1px solid rgba(28,57,66,.12)}.discovery-block+.discovery-block{margin-top:.25rem}.discovery-block__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.discovery-block__heading h3{margin:0 0 .25rem;font-size:1.35rem;color:#172033}.discovery-block__heading p{margin:0;color:#64748b;max-width:46rem}.discovery-count{background:#e7f3ef;color:#176e68;border-radius:999px;padding:.4rem .7rem;white-space:nowrap;font-size:.78rem;font-weight:800}.discovery-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.discovery-product-card{position:relative;transition:transform .18s ease,box-shadow .18s ease}.discovery-product-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(23,32,51,.10)}.discovery-match{display:block!important;color:#17766f!important;font-weight:800!important;margin-bottom:.28rem}.discovery-card-actions{display:flex;align-items:center;gap:.55rem}.discovery-card-actions a{font-weight:800;color:#17766f;text-decoration:none;white-space:nowrap}.discovery-compare{border:0;background:#eef5f3;color:#1b625d;border-radius:8px;padding:.42rem .55rem;font-weight:800;font-size:.76rem;cursor:pointer}.discovery-compare.is-selected{background:#17766f;color:#fff}.discovery-browse-link{color:#17766f;font-weight:800;text-decoration:none;white-space:nowrap}.discovery-empty{border:1px dashed #cad9d5;border-radius:16px;padding:1.2rem;color:#64748b;background:#fbfdfc}.recently-viewed-section{border-top:1px solid rgba(28,57,66,.12);padding-top:2.5rem}.recently-viewed-clear{border:0;background:transparent;color:#667085;text-decoration:underline;cursor:pointer;font:inherit}@media(max-width:980px){.discovery-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.detail-section--discovery{padding-top:1.75rem}.section-heading--discovery,.discovery-block__heading{align-items:flex-start;flex-direction:column}.discovery-product-grid{grid-template-columns:1fr}.discovery-signals{gap:.45rem}.discovery-signals span{font-size:.74rem;padding:.48rem .65rem}.discovery-card-actions{justify-content:space-between;width:100%}}

/* Sprint 6.5.1 — Product Admin & Catalog Management */
.admin-heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem}
.admin-add-product{display:inline-block;text-decoration:none;white-space:nowrap}
.admin-filter-bar{display:flex;gap:.75rem;align-items:center;margin:1.5rem 0 2rem;flex-wrap:wrap}
.admin-filter-bar input,.admin-filter-bar select{min-height:46px;border:1px solid var(--line);border-radius:12px;padding:.7rem .9rem;background:#fff;color:var(--ink)}
.admin-filter-bar input{min-width:min(100%,360px);flex:1}
.secondary-action{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:13px;padding:.78rem 1.1rem;font-weight:750;text-decoration:none;cursor:pointer}
.secondary-action:hover{border-color:var(--accent);color:var(--accent)}
.text-action{font-weight:700;color:var(--accent);text-decoration:none;padding:.5rem}
.admin-list-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.admin-list-title h2{margin:0;font-size:1.35rem}
.admin-list-title span{font-size:.85rem;color:var(--muted);background:var(--soft-jade);padding:.4rem .7rem;border-radius:999px}
.product-admin-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}
.product-admin-table{width:100%;border-collapse:collapse;min-width:1080px}
.product-admin-table th,.product-admin-table td{padding:1rem 1.1rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.product-admin-table th{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--soft)}
.product-admin-table tbody tr:last-child td{border-bottom:0}
.product-admin-table strong,.product-admin-table span{display:block}
.product-admin-table small{display:block;color:var(--muted);margin-top:.25rem}
.admin-source-badge{
  display:inline-flex!important;
  align-items:center;
  max-width:240px;
  padding:.34rem .58rem;
  border-radius:999px;
  font-size:.72rem;
  line-height:1.25;
  font-weight:850;
  white-space:normal;
  overflow-wrap:anywhere;
}
.admin-source-badge.is-development{background:#f1f3f5;color:#667085}
.admin-source-badge.is-provider{background:#e8f7f2;color:#126b5f}
.table-actions{white-space:nowrap}
.table-actions a{font-weight:750;color:var(--accent);text-decoration:none;margin-right:.8rem}
.product-delete-form{display:inline;margin:0}
.table-action-delete{appearance:none;border:0;background:transparent;padding:0;margin:0 .8rem 0 0;font:inherit;font-weight:750;color:#a2443a;cursor:pointer}
.table-action-delete:hover{text-decoration:underline;color:#7f2d25}
.table-action-delete:focus-visible{outline:2px solid #d38b82;outline-offset:3px;border-radius:4px}

.status-pill{display:inline-flex!important;padding:.32rem .65rem;border-radius:999px;font-size:.76rem;font-weight:800}
.status-pill.active{background:#e8f7f2;color:#126b5f}
.status-pill.draft{background:#fff6df;color:#946200}
.status-pill.inactive{background:#f1f3f5;color:#667085}
.admin-empty{padding:3rem 1.5rem;text-align:center;border:1px dashed #cbd5df;border-radius:18px;background:var(--soft)}
.admin-empty p{color:var(--muted)}
.narrow-admin{max-width:980px}
.product-form{margin-top:1.5rem}
.form-actions{display:flex;gap:.75rem;align-items:center;margin-top:1.5rem}
.admin-next-steps{margin-top:1.5rem;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:15px;background:var(--soft-jade);display:grid;gap:.25rem}
.admin-next-steps span{color:var(--muted);font-size:.92rem}
@media(max-width:700px){
  .admin-heading-row{align-items:flex-start;flex-direction:column}
  .admin-filter-bar{align-items:stretch}
  .admin-filter-bar input,.admin-filter-bar select,.admin-filter-bar button,.admin-filter-bar .text-action{width:100%}
  .form-actions{flex-direction:column;align-items:stretch}
}


/* Sprint 6.5.2 — Product Images & Specifications */
.admin-heading--split{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}
.admin-heading__actions{display:flex;gap:10px;flex-wrap:wrap}
.admin-notice{margin:18px 0;padding:14px 16px;border:1px solid var(--line,#d9e1e5);border-radius:12px}
.admin-notice--success{background:#edf8f4;color:#17624f;border-color:#b9dfd3}
.admin-notice--error{background:#fff3f1;color:#9a3f32;border-color:#f0c5bf}
.product-content-product{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;margin-bottom:22px;border:1px solid var(--line,#d9e1e5);border-radius:14px;background:#fff}
.product-content-product strong{font-size:18px}.product-content-product span{font-size:13px;color:#667085}
.admin-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.admin-content-card{background:#fff;border:1px solid var(--line,#d9e1e5);border-radius:18px;padding:22px;box-shadow:0 10px 30px rgba(20,42,57,.05)}
.admin-card-heading{display:flex;justify-content:space-between;gap:18px;margin-bottom:18px}.admin-card-heading h2{margin:4px 0 8px;font-size:25px}.admin-card-heading p{margin:0;color:#667085;line-height:1.6}
.count-chip{white-space:nowrap;padding:7px 11px;border-radius:999px;background:#edf5f3;color:#23685f;font-size:12px;font-weight:700}
.asset-upload-form{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:end;padding:16px;border-radius:14px;background:#f7faf9;border:1px solid #e3ece9}
.asset-upload-form label,.spec-add-form label{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:13px}.asset-upload-form input,.spec-add-form input,.admin-spec-edit input{width:100%;box-sizing:border-box;border:1px solid #cfd9dd;border-radius:10px;padding:11px 12px;background:#fff;color:#253449}
.asset-upload-form small{font-weight:400;color:#667085}.asset-upload-form .wide{grid-column:1/-1}.form-or{align-self:center;color:#78848c;font-size:12px;font-weight:700}
.asset-upload-form .primary-action{grid-column:1/-1;justify-self:start}
.admin-image-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.admin-image-item{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:13px;align-items:center;padding:10px;border:1px solid #e0e6e8;border-radius:13px}.admin-image-item.is-primary{border-color:#71aaa0;background:#f5fbf9}
.admin-image-preview{width:78px;height:64px;border-radius:9px;overflow:hidden;background:#eef3f2}.admin-image-preview img{width:100%;height:100%;object-fit:cover}
.admin-image-meta{min-width:0;display:flex;flex-direction:column;gap:4px}.admin-image-meta span{font-size:13px;color:#52606d}.admin-image-meta small{font-size:11px;color:#8a949b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}
.admin-image-actions{display:flex;gap:6px;align-items:center}.admin-image-actions form{margin:0}
.mini-action{border:1px solid #cfd9dd;background:#fff;color:#245f5a;border-radius:8px;padding:7px 9px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.mini-action--danger{color:#a2443a;border-color:#e6c2bd}
.asset-empty{margin-top:16px;padding:18px;border:1px dashed #cbd7d8;border-radius:12px;color:#667085;line-height:1.55}
.spec-add-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;padding:16px;border-radius:14px;background:#f7faf9;border:1px solid #e3ece9}
.admin-spec-list{display:flex;flex-direction:column;gap:9px;margin-top:16px}.admin-spec-row{display:flex;gap:8px;align-items:center;padding:9px;border:1px solid #e0e6e8;border-radius:12px}.admin-spec-edit{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(180px,1.4fr) auto;gap:8px;flex:1}.admin-spec-row>form:last-child{margin:0}
.admin-next-steps .primary-action{display:inline-flex;margin-top:12px;text-decoration:none}
@media(max-width:900px){.admin-content-grid{grid-template-columns:1fr}.admin-heading--split{flex-direction:column}.asset-upload-form{grid-template-columns:1fr}.asset-upload-form .wide,.asset-upload-form .primary-action{grid-column:auto}.form-or{justify-self:center}.spec-add-form{grid-template-columns:1fr}.admin-image-item{grid-template-columns:64px minmax(0,1fr)}.admin-image-preview{width:64px}.admin-image-actions{grid-column:1/-1}.admin-spec-row{align-items:stretch;flex-direction:column}.admin-spec-edit{grid-template-columns:1fr}.product-content-product{align-items:flex-start;flex-direction:column}}


/* Sprint 6.5.2.1 — Product Media Gallery & Optimization */
.detail-gallery{position:relative}
.detail-visual--gallery{background:#fff}
.detail-image-stage{position:relative}
.detail-main-image-button{width:100%;height:100%;min-height:430px;border:0;background:transparent;padding:0;display:grid;place-items:center;cursor:zoom-in;position:relative}
.detail-main-image-button:hover .detail-product-image--main{transform:scale(1.015)}
.detail-zoom-hint{position:absolute;right:16px;bottom:16px;background:rgba(23,32,51,.78);color:#fff;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700;opacity:0;transition:opacity .2s}
.detail-main-image-button:hover .detail-zoom-hint{opacity:1}
.detail-thumbnails{padding-top:12px}
.detail-thumbnail{transition:border-color .18s ease,transform .18s ease}
.detail-thumbnail:hover{transform:translateY(-2px);border-color:var(--accent)}
.product-image-lightbox[hidden]{display:none!important}
.product-image-lightbox{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px}
.product-image-lightbox__backdrop{position:absolute;inset:0;background:rgba(10,18,28,.88)}
.product-image-lightbox__dialog{position:relative;z-index:1;width:min(100%,1000px);height:min(82vh,760px);display:grid;place-items:center}
.product-image-lightbox__dialog img{max-width:100%;max-height:100%;object-fit:contain;border-radius:16px;background:#fff}
.product-image-lightbox__close,.product-image-lightbox__nav{position:absolute;z-index:2;border:0;cursor:pointer;color:#fff;background:rgba(255,255,255,.16);backdrop-filter:blur(8px)}
.product-image-lightbox__close{top:-8px;right:-8px;width:42px;height:42px;border-radius:50%;font-size:30px;line-height:1}
.product-image-lightbox__nav{top:50%;transform:translateY(-50%);width:48px;height:64px;border-radius:14px;font-size:42px;line-height:1}
.product-image-lightbox__nav--prev{left:-62px}.product-image-lightbox__nav--next{right:-62px}
.image-lightbox-open{overflow:hidden}

.asset-upload-form--enhanced{grid-template-columns:1fr;align-items:stretch}
.upload-limit{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border-radius:11px;background:#eaf6f3;color:#1e625a;font-size:12px}
.upload-limit strong{font-size:13px}
.asset-limit-reached{margin-top:16px;padding:14px;border:1px solid #b9ddd4;border-radius:12px;background:#effaf7;color:#17645a;font-weight:700}
.asset-upload-form--enhanced .form-or{justify-self:start;padding:0 2px}
.asset-upload-form input[type=file]{background:#fff}
.admin-image-item.is-primary:before{content:"PRIMARY";position:absolute}
.admin-image-item{position:relative}

@media(max-width:900px){
  .detail-main-image-button{min-height:360px}
  .detail-zoom-hint{opacity:1}
  .product-image-lightbox{padding:14px}
  .product-image-lightbox__dialog{width:100%;height:78vh}
  .product-image-lightbox__nav{width:42px;height:54px;font-size:36px}
  .product-image-lightbox__nav--prev{left:2px}.product-image-lightbox__nav--next{right:2px}
  .product-image-lightbox__close{top:-2px;right:2px}
  .upload-limit{align-items:flex-start;flex-direction:column}
}

/* Product media primary-image controls */
.mini-action--primary{background:#e8f7f4;border-color:#8bd4c9;color:#0f665d;font-weight:800}
.mini-action--primary:hover{background:#d6f0eb}


/* Sprint 6.6.1 Provider Foundation */
.provider-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.provider-stats>div{background:#fff;border:1px solid rgba(25,45,60,.09);border-radius:18px;padding:18px;box-shadow:0 10px 30px rgba(22,38,55,.05)}.provider-stats strong{display:block;font-size:1.55rem}.provider-stats span{font-size:.85rem;color:#6c7882}.provider-admin-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.9fr);gap:24px;align-items:start}.provider-list{display:grid;gap:12px}.provider-card{border:1px solid rgba(25,45,60,.09);border-radius:16px;padding:17px;background:#fff}.provider-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.provider-card h3{margin:0 0 5px;font-size:1rem}.provider-card code{font-size:.76rem;color:#66737e}.provider-meta{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0;color:#66737e;font-size:.84rem}.provider-meta span:first-child{font-weight:700;color:#2d5c52}.provider-card-actions{display:flex;gap:14px;font-size:.86rem}.provider-card-actions a{color:inherit;text-decoration:none;font-weight:700}.admin-form-card{background:#fff;border:1px solid rgba(25,45,60,.09);border-radius:20px;padding:22px;box-shadow:0 14px 40px rgba(22,38,55,.06)}.admin-form-card h2{margin:5px 0 18px}.admin-form-card form{display:grid;gap:13px}.admin-form-card label{display:grid;gap:6px;font-size:.84rem;font-weight:700}.admin-form-card input,.admin-form-card select{width:100%;padding:11px 12px;border:1px solid #dce3e7;border-radius:10px;background:#fff;font:inherit}.admin-form-card .provider-form{display:grid;gap:13px}.provider-form-help{display:block;margin-top:2px;color:#7a8790;font-size:.76rem;font-weight:500;line-height:1.45}.provider-security-note{font-size:.8rem;line-height:1.55;color:#66737e;margin:16px 0 0}
@media(max-width:800px){.provider-stats{grid-template-columns:repeat(2,1fr)}.provider-admin-grid{grid-template-columns:1fr}.provider-card-head{flex-direction:column}.provider-card-actions{flex-wrap:wrap}}

/* Sprint 6.6.2 eBay real provider integration */
.provider-connect{color:#0b6f65!important}.integration-status{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px;border-radius:16px;margin:22px 0;background:#fff;border:1px solid #dce5e4}.integration-status strong,.integration-status span{display:block}.integration-status strong{margin-bottom:4px}.integration-status.is-ok{border-color:#9ed8cc;background:#f0fbf7}.integration-status.is-warning{border-color:#efd39d;background:#fffaf0}.integration-env{font-size:.78rem;font-weight:800;letter-spacing:.08em;padding:7px 10px;border-radius:999px;background:#eef3f3}.integration-card{background:#fff;border:1px solid rgba(25,45,60,.09);border-radius:18px;padding:22px;margin-bottom:16px}.integration-card h2{font-size:1.1rem;margin:0 0 9px}.integration-card p{color:#66737e;line-height:1.6}.integration-form{display:grid;gap:13px;margin-top:16px}.integration-form label{display:grid;gap:6px;font-size:.86rem;font-weight:700}.integration-form input,.integration-form select{width:100%;padding:11px 12px;border:1px solid #dce3e7;border-radius:10px;background:#fff;font:inherit}.setup-list{padding-left:20px;display:grid;gap:10px;color:#52606b;line-height:1.5}.secondary-action{display:inline-block;margin-top:10px;font-weight:700;color:#175d57;text-decoration:none}
@media(max-width:700px){.integration-status{align-items:flex-start;flex-direction:column}}


/* ==========================================================================
   Findlyra public home refresh — custom HTML5/CSS3, image-free UI layer
   ========================================================================== */
html { scroll-behavior:smooth; }
body { overflow-x:hidden; }

.fl-site-header{
  position:sticky; top:0; z-index:1000;
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(23,32,51,.08);
  backdrop-filter:blur(18px);
}
.fl-nav-wrap{min-height:76px;display:flex;align-items:center;gap:28px}
.fl-brand{flex:0 0 auto}
.fl-main-nav{display:flex;align-items:center;justify-content:center;gap:6px;margin-left:auto}
.fl-main-nav a{
  color:var(--ink);text-decoration:none;font-weight:700;font-size:.92rem;
  padding:10px 14px;border-radius:10px;transition:.2s ease;
}
.fl-main-nav a:hover,.fl-main-nav a.active{color:var(--accent);background:var(--soft-jade)}
.fl-nav-cta{
  display:inline-flex;align-items:center;gap:10px;padding:12px 17px;border-radius:12px;
  text-decoration:none;color:#fff;background:var(--ink);font-weight:800;font-size:.9rem;
  transition:transform .2s ease,box-shadow .2s ease;
}
.fl-nav-cta:hover{color:#fff;transform:translateY(-1px);box-shadow:0 10px 24px rgba(23,32,51,.18)}
.fl-nav-toggle{display:none;background:transparent;border:0;width:44px;height:44px;padding:8px}
.fl-nav-toggle span{display:block;width:25px;height:2px;background:var(--ink);margin:5px auto;border-radius:4px;transition:.2s}

.fl-home-hero{
  position:relative;isolation:isolate;overflow:hidden;
  padding:clamp(32px,4.5vw,60px) 0 70px;
  background:
    radial-gradient(circle at 82% 26%, rgba(20,184,166,.14), transparent 27rem),
    radial-gradient(circle at 4% 78%, rgba(216,139,31,.11), transparent 25rem),
    linear-gradient(180deg,#fbfdfd 0%,#f4faf8 100%);
}
.fl-home-hero:before,.fl-home-hero:after{
  content:"";position:absolute;border:1px solid rgba(15,118,110,.10);border-radius:50%;z-index:-1;
}
.fl-home-hero:before{width:54rem;height:54rem;right:-22rem;top:-18rem}
.fl-home-hero:after{width:38rem;height:38rem;left:-26rem;bottom:-23rem}
.fl-hero-wrap{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(420px,.94fr);align-items:center;gap:clamp(30px,6vw,90px)}
.fl-eyebrow{display:flex;align-items:center;gap:9px;color:var(--accent);font-size:.76rem;font-weight:900;letter-spacing:.13em}
.fl-hero-copy h1{font-size:clamp(2.9rem,5.2vw,5.35rem);line-height:.98;letter-spacing:-.055em;margin:18px 0 22px;color:var(--ink);font-weight:900}
.fl-hero-copy h1 span{color:var(--accent)}
.fl-hero-copy>p{max-width:690px;color:#536170;font-size:clamp(1rem,1.3vw,1.16rem);line-height:1.75;margin:0 0 28px}
.fl-search{
  max-width:680px;background:#fff;border:1px solid rgba(23,32,51,.12);border-radius:18px;
  padding:7px 7px 7px 18px;display:flex;align-items:center;gap:13px;
  box-shadow:0 18px 45px rgba(23,32,51,.08);
}
.fl-search>i{color:var(--muted)}
.fl-search input{border:0!important;outline:0!important;box-shadow:none!important;flex:1;min-width:0;background:transparent;font-size:.98rem;color:var(--ink);padding:10px 0}
.fl-search button{border:0;border-radius:12px;background:var(--accent);color:#fff;padding:13px 20px;font-weight:800;white-space:nowrap}
.fl-search button:hover{background:var(--accent-strong)}
.fl-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:19px}
.fl-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:12px;padding:13px 18px;text-decoration:none;font-weight:800;transition:.2s}
.fl-btn-primary{background:var(--accent);color:#fff}.fl-btn-primary:hover{color:#fff;background:var(--accent-strong);transform:translateY(-1px)}
.fl-btn-ghost{color:var(--ink);border:1px solid rgba(23,32,51,.14);background:#fff}.fl-btn-ghost:hover{color:var(--accent);border-color:var(--accent)}
.fl-btn-light{background:#fff;color:var(--ink)}.fl-btn-light:hover{color:var(--accent);transform:translateY(-1px)}
.fl-trust-row{display:flex;flex-wrap:wrap;gap:20px;margin-top:25px;color:#657281;font-size:.84rem;font-weight:700}
.fl-trust-row i{color:var(--accent);margin-right:5px}

.fl-hero-visual{position:relative;min-height:500px;width:100%;max-width:570px;margin-inline:auto}
.fl-orbit{position:absolute;border:1px solid rgba(15,118,110,.15);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.fl-orbit-one{width:440px;height:440px}.fl-orbit-two{width:315px;height:315px;border-style:dashed}
.fl-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:180px;height:180px;border-radius:32px;background:linear-gradient(145deg,var(--ink),#213453);box-shadow:0 30px 70px rgba(23,32,51,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center}
.fl-core-logo{width:58px;height:58px;border-radius:18px;background:var(--accent);display:grid;place-items:center;font-size:1.9rem;font-weight:900;margin-bottom:9px}
.fl-core strong{font-size:1.1rem}.fl-core small{font-size:.72rem;opacity:.7;margin-top:4px}
.fl-float-card{position:absolute;display:flex;align-items:center;gap:12px;min-width:185px;padding:13px 15px;border-radius:17px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);box-shadow:0 18px 45px rgba(23,32,51,.12);border:1px solid rgba(23,32,51,.07);text-decoration:none;color:var(--ink);transition:transform .2s ease}
.fl-float-card:hover{color:var(--ink);transform:translateY(-4px)}
.fl-float-card>i{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--soft-jade);color:var(--accent)}
.fl-float-card strong,.fl-float-card small{display:block}.fl-float-card strong{font-size:.88rem}.fl-float-card small{color:var(--muted);font-size:.72rem;margin-top:2px}
.fl-float-products{left:0;top:12%}.fl-float-flights{right:0;top:25%}.fl-float-hotels{left:6%;bottom:16%}.fl-float-offers{right:3%;bottom:6%}
.fl-mini-stat{position:absolute;padding:10px 13px;background:#fff;border-radius:13px;box-shadow:0 14px 35px rgba(23,32,51,.09);text-align:center}.fl-mini-stat strong,.fl-mini-stat span{display:block}.fl-mini-stat strong{color:var(--accent);font-size:1rem}.fl-mini-stat span{font-size:.66rem;color:var(--muted);font-weight:700}.fl-stat-one{right:23%;top:4%}.fl-stat-two{left:25%;bottom:2%}

.fl-quick-strip{border-top:1px solid rgba(23,32,51,.07);border-bottom:1px solid rgba(23,32,51,.07);background:#fff}
.fl-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:24px 12px}
.fl-quick-grid>div{display:flex;align-items:center;gap:12px;padding:0 15px;border-right:1px solid var(--line)}
.fl-quick-grid>div:last-child{border-right:0}.fl-quick-grid i{font-size:1.35rem;color:var(--accent)}
.fl-quick-grid strong,.fl-quick-grid small{display:block}.fl-quick-grid strong{font-size:.85rem}.fl-quick-grid small{font-size:.73rem;color:var(--muted);margin-top:3px}

.fl-section{padding:clamp(65px,9vw,115px) 12px}
.fl-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.72fr);gap:40px;align-items:end;margin-bottom:38px}
.fl-section-head h2{font-size:clamp(2rem,3.8vw,3.4rem);line-height:1.08;letter-spacing:-.04em;color:var(--ink);margin:14px 0 0;font-weight:900;max-width:760px}
.fl-section-head>p{color:var(--muted);line-height:1.7;margin:0;max-width:520px}
.fl-section-head--center{display:block;text-align:center;max-width:820px;margin:0 auto 45px}.fl-section-head--center .fl-eyebrow{justify-content:center}.fl-section-head--center>p{margin:17px auto 0}

.fl-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.fl-category-card{min-height:285px;border:1px solid var(--line);border-radius:22px;padding:23px;background:#fff;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:.25s ease;box-shadow:0 8px 25px rgba(23,32,51,.025)}
.fl-category-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(23,32,51,.10);border-color:rgba(15,118,110,.25);color:var(--ink)}
.fl-category-card--featured{background:linear-gradient(145deg,var(--ink),#213453);color:#fff;border-color:transparent}.fl-category-card--featured:hover{color:#fff}
.fl-category-card--featured .fl-icon-box{background:rgba(255,255,255,.13);color:#7ee8dd}.fl-category-card--featured p{color:rgba(255,255,255,.68)}.fl-category-card--featured .fl-card-link{color:#8fe9e1}
.fl-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fl-icon-box{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--soft-jade);color:var(--accent);font-size:1.25rem}
.fl-status{font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:var(--muted);padding:7px 9px;border-radius:999px;background:var(--soft)}.fl-status-live{background:#e7f7ee;color:#18794e}
.fl-category-card h3{font-size:1.35rem;margin:26px 0 10px;font-weight:900}.fl-category-card p{font-size:.88rem;line-height:1.65;color:var(--muted);margin:0}.fl-card-link{margin-top:auto;padding-top:25px;color:var(--accent);font-weight:800;font-size:.85rem}
.fl-category-card--wide{grid-column:span 2;min-height:220px;background:linear-gradient(135deg,#f3faf8,#fff)}
.fl-category-card--wide p{max-width:620px}
.fl-category-card--compare{background:linear-gradient(135deg,#f4fbfb,#fff);border-color:rgba(15,118,110,.16)}
.fl-category-card--compare .fl-icon-box{background:#e9f8f6}
.fl-category-card--compare .fl-card-link{display:inline-flex;align-items:center;gap:7px;text-decoration:none}


.fl-how-section{background:var(--ink);color:#fff;padding:clamp(70px,9vw,115px) 0}.fl-how-section .fl-section-head h2{color:#fff}.fl-how-section .fl-section-head>p{color:rgba(255,255,255,.65)}.fl-how-section .fl-eyebrow{color:#7ee8dd}
.fl-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.fl-steps article{position:relative;border:1px solid rgba(255,255,255,.11);border-radius:22px;padding:25px;min-height:230px;background:rgba(255,255,255,.035)}
.fl-steps article>span{position:absolute;right:18px;top:15px;color:rgba(255,255,255,.22);font-size:.75rem;font-weight:900}.fl-steps article>i{font-size:1.4rem;color:#7ee8dd}.fl-steps h3{font-size:1.18rem;margin:26px 0 9px}.fl-steps p{font-size:.86rem;line-height:1.65;color:rgba(255,255,255,.62);margin:0}

.fl-build-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:55px;padding:clamp(30px,6vw,70px);border-radius:30px;background:linear-gradient(135deg,#fff7e8,#fff);border:1px solid #f1e1c7}
.fl-build-copy h2{font-size:clamp(2rem,3.4vw,3.15rem);line-height:1.08;letter-spacing:-.04em;margin:15px 0;color:var(--ink);font-weight:900}.fl-build-copy p{color:var(--muted);line-height:1.75;margin-bottom:25px;max-width:650px}
.fl-build-list{display:grid;gap:12px}.fl-build-list>div{display:flex;align-items:center;gap:14px;background:#fff;padding:16px;border-radius:17px;border:1px solid rgba(23,32,51,.07)}.fl-build-list i{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:var(--amber-soft);color:var(--amber)}.fl-build-list strong,.fl-build-list small{display:block}.fl-build-list strong{font-size:.87rem}.fl-build-list small{font-size:.73rem;color:var(--muted);margin-top:3px}

.fl-partner-section{padding:0 12px 95px}.fl-partner-section .ad-showcase-heading{display:none}
.fl-final-cta{padding:0 0 80px;background:linear-gradient(180deg,#fff 0,#f2faf8 100%)}.fl-final-card{background:linear-gradient(135deg,var(--accent),var(--accent-strong));border-radius:28px;padding:clamp(30px,5vw,60px);display:flex;align-items:center;justify-content:space-between;gap:35px;color:#fff}.fl-final-card .fl-eyebrow{color:#b9fff7}.fl-final-card h2{font-size:clamp(2rem,3.7vw,3.3rem);letter-spacing:-.04em;font-weight:900;margin:14px 0 10px}.fl-final-card p{margin:0;color:rgba(255,255,255,.8);max-width:650px;line-height:1.7}.fl-final-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px;min-width:190px}.fl-text-link{color:#fff;text-decoration:none;font-weight:800;font-size:.85rem}.fl-text-link:hover{color:#fff;text-decoration:underline}

.fl-site-footer{background:#101827;color:#fff;padding:65px 0 22px}.fl-footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:42px}.fl-site-footer .brand{margin-bottom:15px}.fl-site-footer h6{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#7ee8dd;margin-bottom:17px}.fl-site-footer a,.fl-site-footer span{display:block;color:rgba(255,255,255,.62);text-decoration:none;font-size:.86rem;margin:9px 0}.fl-site-footer a:hover{color:#fff}.fl-site-footer p{color:rgba(255,255,255,.62);font-size:.86rem;line-height:1.7;margin:0}.fl-footer-brand-block>p{max-width:340px}.fl-footer-bottom{margin-top:48px;padding-top:20px;border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.45);font-size:.75rem}.fl-footer-bottom span{display:block;margin:0}.fl-footer-bottom i{color:#7ee8dd}

@media (max-width:1100px){
  .fl-hero-wrap{grid-template-columns:1fr;gap:30px}.catalog-hero-grid{grid-template-columns:1fr;gap:25px}.catalog-hero-copy{text-align:center}.catalog-hero-copy .eyebrow{justify-content:center}.catalog-hero-points{justify-content:center}.catalog-discovery-flow{max-width:540px}.fl-hero-copy{text-align:center}.fl-hero-copy>p,.fl-search{margin-left:auto;margin-right:auto}.fl-eyebrow{justify-content:center}.fl-hero-actions,.fl-trust-row{justify-content:center}.fl-hero-visual{max-width:560px;min-height:480px}
  .fl-category-grid{grid-template-columns:repeat(2,1fr)}.fl-steps{grid-template-columns:repeat(2,1fr)}.fl-build-panel{grid-template-columns:1fr}.fl-footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .fl-nav-wrap{min-height:68px;position:relative;gap:12px}.fl-nav-toggle{display:block;margin-left:auto}.fl-nav-cta{display:none}
  .fl-main-nav{display:none;position:absolute;left:12px;right:12px;top:calc(100% + 7px);margin:0;padding:12px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px rgba(23,32,51,.13);flex-direction:column;align-items:stretch}
  .fl-main-nav.is-open{display:flex}.fl-main-nav a{padding:13px}.fl-nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.fl-nav-toggle.is-open span:nth-child(2){opacity:0}.fl-nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .fl-quick-grid{grid-template-columns:repeat(2,1fr)}.fl-quick-grid>div:nth-child(2){border-right:0}.fl-quick-grid>div:nth-child(-n+2){padding-bottom:15px;border-bottom:1px solid var(--line)}
  .fl-section-head{grid-template-columns:1fr;gap:15px}.fl-section-head .fl-eyebrow{justify-content:flex-start}.fl-section-head--center .fl-eyebrow{justify-content:center}
}
@media (max-width:620px){
  .fl-home-hero{padding-top:30px}.catalog-hero{padding-top:3.4rem}.catalog-discovery-flow{min-height:390px;transform:scale(.88);transform-origin:top center;margin-bottom:-35px}.catalog-flow-orbit-one{width:360px;height:360px}.catalog-flow-orbit-two{width:250px;height:250px}.catalog-flow-products{gap:9px}.catalog-flow-product{width:138px;padding:13px}.catalog-flow-step-one{left:0}.catalog-flow-step-two{right:0}.catalog-flow-step-three{right:4%}.fl-hero-copy h1{font-size:clamp(2.65rem,13vw,4rem)}.fl-search{padding:7px 8px 7px 14px;border-radius:15px}.fl-search button{font-size:0;width:46px;height:46px;padding:0;display:grid;place-items:center}.fl-search button i{font-size:.9rem}.fl-search button i:before{font-size:.9rem}
  .fl-hero-actions{display:grid;grid-template-columns:1fr}.fl-btn{width:100%}.fl-trust-row{gap:9px 15px;font-size:.76rem}
  .fl-hero-visual{min-height:420px;transform:scale(.88);transform-origin:top center;margin-bottom:-40px}.fl-orbit-one{width:390px;height:390px}.fl-orbit-two{width:270px;height:270px}.fl-core{width:150px;height:150px}.fl-float-card{min-width:155px;padding:10px}.fl-float-card>i{width:36px;height:36px}.fl-float-card strong{font-size:.78rem}.fl-float-card small{font-size:.63rem}
  .fl-quick-grid{grid-template-columns:1fr;padding:10px 0}.fl-quick-grid>div,.fl-quick-grid>div:nth-child(2){border-right:0;border-bottom:1px solid var(--line);padding:13px 4px}.fl-quick-grid>div:last-child{border-bottom:0}
  .fl-category-grid,.fl-steps{grid-template-columns:1fr}.fl-category-card--wide{grid-column:auto}.fl-category-card{min-height:240px}.fl-section{padding-top:65px;padding-bottom:65px}.fl-build-panel{padding:24px;border-radius:22px;gap:30px}.fl-final-card{display:block;border-radius:22px}.fl-final-actions{margin-top:25px}.fl-footer-grid{grid-template-columns:1fr;gap:30px}.fl-footer-bottom{display:block}.fl-footer-bottom span+span{margin-top:8px}
}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* Footer brand integrity: keep Findlyra as one unbroken logo */
.fl-site-footer .findlyra-logo{
  display:inline-flex !important;
  align-items:baseline;
  gap:0;
  width:auto;
  white-space:nowrap;
  line-height:1;
}
.fl-site-footer .findlyra-logo__find,
.fl-site-footer .findlyra-logo__lyra{
  display:inline !important;
  margin:0 !important;
  white-space:nowrap;
}
.fl-site-footer .findlyra-logo__find{color:#fff !important;}
.fl-site-footer .findlyra-logo__lyra{color:var(--accent) !important;}


/* =========================================================
   Findlyra public pages + feedback + subscription (Sprint update)
   ========================================================= */
.inner-page-hero{padding:clamp(70px,10vw,130px) 0;background:linear-gradient(135deg,#eff9f6 0%,#fff 65%,#fff7e8 100%)}
.inner-page-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:clamp(30px,7vw,90px);align-items:center}
.inner-page-hero h1{font-size:clamp(2.8rem,6vw,5.4rem);line-height:.98;letter-spacing:-.065em;font-weight:900;margin:0;max-width:850px}
.inner-page-hero h1 span{color:var(--accent)}
.inner-page-hero p{max-width:760px;font-size:1.08rem;color:var(--muted);line-height:1.8;margin:22px 0}
.inner-page-actions{display:flex;gap:12px;flex-wrap:wrap}
.about-visual-card{display:grid;gap:14px;padding:26px;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.8);box-shadow:var(--shadow)}
.about-visual-card>div{display:grid;grid-template-columns:54px 1fr;column-gap:15px;align-items:center;padding:16px;border-radius:18px;background:#fff;border:1px solid rgba(23,32,51,.06)}
.about-visual-card i{grid-row:1/3;width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:var(--soft-jade);color:var(--accent);font-size:1.2rem}
.about-visual-card strong{font-size:1rem}.about-visual-card span{font-size:.8rem;color:var(--muted);margin-top:3px}
.about-section{padding:clamp(65px,9vw,115px) 12px}.about-section--compact{padding-top:0}
.about-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.about-feature-card{padding:25px;border:1px solid var(--line);border-radius:22px;background:#fff}
.about-feature-card i{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--soft-jade);color:var(--accent);font-size:1.15rem}
.about-feature-card h3{font-size:1.1rem;font-weight:850;margin:22px 0 8px}.about-feature-card p{color:var(--muted);font-size:.88rem;line-height:1.7;margin:0}
.about-principles{padding:clamp(65px,9vw,110px) 0;background:#102031;color:#fff}
.about-principles__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(35px,7vw,100px)}
.about-principles h2{font-size:clamp(2.4rem,4vw,4rem);font-weight:900;letter-spacing:-.05em}.about-principles p{color:rgba(255,255,255,.68);line-height:1.8}
.about-principle-list{display:grid;gap:0}.about-principle-list>div{display:grid;grid-template-columns:52px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.about-principle-list>div>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(126,232,221,.12);color:#7ee8dd;font-weight:900;font-size:.78rem}
.about-principle-list strong{font-weight:850}.about-principle-list p{font-size:.87rem;margin:5px 0 0}
.about-cta-card{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:clamp(28px,5vw,55px);border-radius:28px;background:linear-gradient(135deg,#f4fbfa,#fff);border:1px solid rgba(15,118,110,.16)}
.about-cta-card h2{max-width:760px;font-size:clamp(1.9rem,3.4vw,3rem);letter-spacing:-.045em;font-weight:900;margin:10px 0}.about-cta-card p{color:var(--muted);margin:0}

.inner-page-hero--opinion{padding-bottom:80px}
.opinion-section{padding:0 12px clamp(70px,10vw,120px);margin-top:-35px}
.opinion-layout{display:grid;grid-template-columns:minmax(250px,.65fr) minmax(0,1.35fr);gap:26px;align-items:start}
.opinion-intro{padding:28px;border-radius:24px;background:#102031;color:#fff;position:sticky;top:95px}.opinion-intro h2{font-size:1.55rem;font-weight:900}.opinion-intro p{color:rgba(255,255,255,.65);font-size:.9rem}.opinion-intro ul{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:14px}.opinion-intro li{display:flex;gap:11px;align-items:flex-start;font-size:.85rem;color:rgba(255,255,255,.78)}.opinion-intro i{color:#7ee8dd;margin-top:3px}
.opinion-form-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(22px,4vw,42px);box-shadow:var(--shadow-sm)}
.opinion-form{display:grid;gap:19px}.form-row--two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.opinion-form label,.subscribe-modal label{display:grid;gap:8px;font-size:.86rem;font-weight:780;color:var(--ink)}.optional{font-weight:500;color:var(--muted)}
.opinion-form input,.opinion-form select,.opinion-form textarea,.subscribe-modal input{width:100%;border:1px solid #d8e0e4;border-radius:12px;padding:12px 13px;background:#fff;color:var(--ink);outline:none}.opinion-form textarea{resize:vertical;min-height:145px}.opinion-form input:focus,.opinion-form select:focus,.opinion-form textarea:focus,.subscribe-modal input:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}
.rating-fieldset,.recommend-fieldset{border:0;padding:0;margin:0}.rating-fieldset legend,.recommend-fieldset legend{font-size:.86rem;font-weight:780;margin-bottom:10px}.rating-options,.recommend-fieldset{display:flex;flex-wrap:wrap;gap:9px}.rating-options label,.recommend-fieldset label{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:8px 11px;cursor:pointer;font-size:.8rem}.rating-options input,.recommend-fieldset input{width:auto;margin:0}.form-notice{padding:13px 15px;border-radius:13px;margin-bottom:18px;font-size:.88rem}.form-notice--success{background:#edf9f4;color:#13795b;border:1px solid #bfe8d0}.form-notice--error{background:#fff4f4;color:#a33;border:1px solid #f1c5c5}.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.subscribe-modal{position:fixed;inset:0;z-index:2000}.subscribe-modal[hidden]{display:none!important}.subscribe-modal__backdrop{position:absolute;inset:0;background:rgba(8,18,28,.62);backdrop-filter:blur(4px)}.subscribe-modal__dialog{position:relative;z-index:1;width:min(460px,calc(100% - 30px));margin:min(12vh,90px) auto 0;background:#fff;border-radius:24px;padding:30px;box-shadow:0 28px 80px rgba(0,0,0,.28)}.subscribe-modal__close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:1.7rem;color:var(--muted);cursor:pointer}.subscribe-modal__icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:var(--soft-jade);color:var(--accent);font-size:1.25rem}.subscribe-modal h2{font-size:1.7rem;letter-spacing:-.04em;font-weight:900;margin:17px 0 7px}.subscribe-modal p{color:var(--muted);font-size:.88rem;line-height:1.65}.subscribe-modal form{display:grid;gap:15px;margin-top:20px}.subscribe-modal .primary-action{width:100%;border:0;cursor:pointer}.subscribe-modal__privacy{font-size:.73rem!important;margin:15px 0 0}.modal-open{overflow:hidden}.site-toast{position:fixed;right:20px;bottom:20px;z-index:2200;max-width:min(420px,calc(100% - 40px));padding:14px 17px;border-radius:14px;background:#102031;color:#fff;box-shadow:var(--shadow-lg);font-size:.88rem}.site-toast--error{background:#8f2f2f}

.detail-actions--enhanced .subscribe-trigger{border-color:rgba(15,118,110,.25);color:var(--accent)}
.fl-footer-grid{grid-template-columns:1.5fr repeat(4,1fr)}

@media (max-width:1100px){.about-feature-grid{grid-template-columns:repeat(2,1fr)}.about-principles__grid,.opinion-layout,.inner-page-hero__grid{grid-template-columns:1fr}.opinion-intro{position:static}.fl-footer-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:767px){
  .inner-page-hero{padding:65px 0}.inner-page-hero h1{font-size:clamp(2.45rem,12vw,3.8rem)}.about-visual-card{padding:16px}.about-section{padding-left:20px;padding-right:20px}.about-cta-card{display:block}.about-cta-card .primary-link{margin-top:22px}.form-row--two{grid-template-columns:1fr}.opinion-section{padding-left:20px;padding-right:20px;margin-top:-20px}.opinion-form-card{padding:20px}.rating-options{gap:6px}.subscribe-modal__dialog{margin:35px auto 0;padding:24px 20px}
  /* Mobile product catalog reliability: one stable column and no sticky/hidden state. */
  .catalog-hero-grid{display:block!important}.catalog-discovery-flow{display:none!important}.listing-layout{display:block!important}.filters-panel{display:none!important;position:static!important}.filters-panel.mobile-open{display:block!important;margin-bottom:18px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;visibility:visible!important;opacity:1!important}.products-area{display:block!important;min-width:0!important}.product-card{min-width:0}.product-info{overflow-wrap:anywhere}.results-bar{display:flex!important}.category-strip{max-width:100vw}.catalog-space{overflow:visible!important}
}
@media (max-width:480px){.about-feature-grid{grid-template-columns:1fr}.product-grid{grid-template-columns:1fr!important}.product-visual{height:210px!important}.results-bar{flex-direction:column;align-items:stretch!important}.results-bar select{max-width:none!important;width:100%}.filter-trigger{width:100%}.catalog-search{max-width:100%}.catalog-search input{min-width:0}.fl-footer-grid{grid-template-columns:1fr!important}}


/* =========================================================
   Sprint 6.6.3 — Admin workflow polish + homepage ad controls
   ========================================================= */

/* Homepage quick highlights: keep every item inside the same container
   gutter on all screen sizes. */
.fl-quick-grid {
  padding-left: 0;
  padding-right: 0;
}
.fl-quick-grid > div {
  min-width: 0;
  padding-left: 0;
  padding-right: 15px;
}
@media (max-width: 900px) {
  .fl-quick-grid > div {
    padding-left: 0;
    padding-right: 15px;
  }
}
@media (max-width: 620px) {
  .fl-quick-grid {
    padding: 8px 0;
    gap: 8px;
  }
  .fl-quick-grid > div,
  .fl-quick-grid > div:nth-child(2) {
    width: 100%;
    padding: 14px 10px;
    border: 1px solid rgba(23,32,51,.08);
    border-radius: 14px;
    background: #fff;
    box-sizing: border-box;
  }
  .fl-quick-grid > div:last-child {
    border-bottom: 1px solid rgba(23,32,51,.08);
  }
}

/* Product manager: equal Filter / Reset controls and clear bulk workflow. */
.admin-filter-bar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(150px, 180px) 104px 104px;
  gap: .75rem;
  align-items: stretch;
}
.admin-filter-bar input,
.admin-filter-bar select,
.admin-filter-button,
.admin-reset-button {
  min-height: 48px;
  width: 100%;
  margin: 0;
}
.admin-filter-button {
  padding: .78rem 1rem;
}
.admin-reset-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 13px;
  padding: .78rem 1rem;
  font-weight: 800;
  color: #fff !important;
  text-decoration: none !important;
  background: linear-gradient(135deg,var(--accent-strong),var(--accent-bright));
  box-shadow: 0 10px 24px rgba(15,118,110,.18);
}
.admin-reset-button:hover {
  transform: translateY(-1px);
  color: #fff !important;
  filter: saturate(1.05);
}

.admin-bulk-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 1.25rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--soft-jade);
}
.admin-bulk-toolbar > div {
  display: grid;
  gap: 2px;
}
.admin-bulk-toolbar strong {
  font-size: .92rem;
}
.admin-bulk-toolbar span {
  color: var(--muted);
  font-size: .78rem;
}
.bulk-action-form {
  display: grid;
  grid-template-columns: minmax(155px, 190px) 96px;
  gap: .6rem;
}
.bulk-action-form select,
.bulk-action-form button {
  min-height: 44px;
}
.bulk-action-form select {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: .65rem .75rem;
  background: #fff;
}
.bulk-action-form button {
  padding: .65rem .8rem;
}
.bulk-check-cell {
  width: 44px;
  text-align: center !important;
}
.product-admin-table .bulk-check-cell input {
  width: 18px;
  height: 18px;
  accent-color: var(--accent);
}
.inline-status-form {
  margin: 0;
}
.product-status-select {
  min-width: 108px;
  min-height: 40px;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: .45rem .65rem;
  background: #fff;
  color: var(--ink);
  font-weight: 750;
  cursor: pointer;
}
.product-status-select:focus {
  border-color: var(--accent);
}
.product-status-select option[value="active"] { color: var(--accent-strong); }
.product-status-select option[value="inactive"] { color: #667085; }

/* Advertisement manager: full CRUD, media preview and per-ad homepage flag. */
.ad-editor {
  margin-top: 1.5rem;
  scroll-margin-top: 90px;
}
.ad-editor:not(.is-editing) {
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--shadow);
}
.ad-editor__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.35rem 1.5rem 0;
}
.ad-editor__heading h2 {
  margin: .15rem 0 0;
  font-size: 1.45rem;
}
.ad-editor .ad-form {
  margin-top: 0;
  box-shadow: none;
  border: 0;
  padding-top: 1.25rem;
}
.field-optional {
  font-size: .72rem;
  color: var(--muted);
  font-weight: 500;
}
.ad-home-option {
  display: grid !important;
  grid-template-columns: 22px 1fr;
  gap: .8rem;
  align-items: start;
  padding: .9rem 1rem;
  border: 1px solid #cfe6df;
  border-radius: 14px;
  background: var(--soft-jade);
}
.ad-home-option > input {
  width: 18px !important;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--accent);
}
.ad-home-option span {
  display: grid;
  gap: 3px;
}
.ad-home-option small {
  line-height: 1.5;
}
.ad-form-actions {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-top: 1.25rem;
}
.admin-ad-grid--managed {
  grid-template-columns: repeat(2, minmax(0,1fr));
}
.admin-ad-item--managed {
  padding: 0;
  overflow: hidden;
  grid-template-columns: 150px minmax(0,1fr);
  gap: 0;
}
.admin-ad-preview {
  min-height: 250px;
  background: #eef3f2;
  overflow: hidden;
}
.admin-ad-preview img,
.admin-ad-preview video {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 250px;
  object-fit: cover;
}
.admin-ad-content {
  min-width: 0;
  padding: 1rem;
  display: grid;
  align-content: start;
  gap: .45rem;
}
.admin-ad-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
.admin-ad-title-row strong {
  min-width: 0;
  overflow-wrap: anywhere;
}
.admin-ad-content > span,
.admin-ad-content > small {
  color: var(--muted);
  font-size: .8rem;
}
.ad-home-control {
  display: grid;
  gap: .35rem;
  margin-top: .5rem;
}
.ad-home-control > span {
  font-size: .72rem;
  font-weight: 800;
  color: var(--ink);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.ad-home-control form,
.admin-ad-actions form {
  margin: 0;
}
.ad-home-control select {
  width: 100%;
  min-height: 40px;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: .5rem .65rem;
  background: #fff;
  color: var(--ink);
  font-weight: 700;
}
.admin-ad-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .65rem;
}
.admin-ad-actions .secondary-action {
  min-height: 40px;
  padding: .55rem .75rem;
  font-size: .8rem;
}
.admin-ad-actions .table-action-delete {
  color: #a2443a;
}

@media (max-width: 900px) {
  .admin-filter-bar {
    grid-template-columns: minmax(0,1fr) minmax(140px,1fr);
  }
  .admin-filter-button,
  .admin-reset-button {
    min-width: 0;
  }
  .admin-bulk-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .bulk-action-form {
    grid-template-columns: minmax(0,1fr) 100px;
  }
  .admin-ad-grid--managed {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 700px) {
  .admin-filter-bar {
    grid-template-columns: 1fr 1fr;
  }
  .admin-filter-bar input {
    grid-column: 1 / -1;
  }
  .admin-filter-button,
  .admin-reset-button {
    width: 100%;
  }
  .bulk-action-form {
    grid-template-columns: 1fr 100px;
  }
  .product-admin-table {
    min-width: 980px;
  }
}
@media (max-width: 575px) {
  .admin-filter-bar {
    grid-template-columns: 1fr;
  }
  .admin-filter-bar input {
    grid-column: auto;
  }
  .bulk-action-form {
    grid-template-columns: 1fr;
  }
  .bulk-action-form button {
    width: 100%;
  }
  .ad-editor__heading {
    align-items: flex-start;
    flex-direction: column;
    padding-inline: 1rem;
  }
  .ad-editor .ad-form {
    padding-inline: 1rem;
  }
  .admin-ad-item--managed {
    grid-template-columns: 1fr;
  }
  .admin-ad-preview,
  .admin-ad-preview img,
  .admin-ad-preview video {
    min-height: 220px;
    height: 220px;
  }
  .admin-ad-content {
    padding: .95rem;
  }
}


/* Opinion Matters — public feedback cards and full-opinion modal. */
.opinion-list-section {
  padding: 0 12px clamp(70px, 9vw, 110px);
}
.opinion-list-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}
.opinion-list-heading h2 {
  margin: 7px 0 8px;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.03;
  letter-spacing: -.045em;
}
.opinion-list-heading p {
  margin: 0;
  color: var(--muted);
  max-width: 680px;
  line-height: 1.65;
}
.opinion-count {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 15px;
  border-radius: 999px;
  background: var(--soft-jade);
  color: var(--accent);
  font-weight: 800;
  font-size: .82rem;
}
.opinion-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.opinion-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.opinion-card__top {
  display: flex;
  align-items: center;
  gap: 11px;
}
.opinion-avatar {
  width: 43px;
  height: 43px;
  flex: 0 0 43px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: var(--soft-jade);
  color: var(--accent);
  font-weight: 900;
}
.opinion-card__identity {
  min-width: 0;
}
.opinion-card__identity h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 850;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.opinion-card__identity span {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: .73rem;
}
.opinion-rating {
  margin-left: auto;
  white-space: nowrap;
  color: #e5a500;
  font-size: .82rem;
  letter-spacing: 1px;
}
.opinion-rating > span {
  color: #cbd3d6;
}
.opinion-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 18px 0 12px;
}
.opinion-card__tags span {
  padding: 6px 9px;
  border-radius: 999px;
  background: #f3f7f7;
  color: #4e656d;
  font-size: .7rem;
  font-weight: 750;
}
.opinion-card__excerpt {
  margin: 0 0 19px;
  color: #53636a;
  line-height: 1.7;
  font-size: .88rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}
.opinion-view-button {
  margin-top: auto;
  align-self: flex-start;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--accent);
  font: inherit;
  font-size: .82rem;
  font-weight: 850;
  cursor: pointer;
}
.opinion-view-button:hover {
  text-decoration: underline;
}
.opinion-view-button i {
  margin-left: 5px;
}
.opinion-empty {
  padding: 54px 24px;
  text-align: center;
  border: 1px dashed #cfdcde;
  border-radius: 22px;
  background: #fbfdfd;
}
.opinion-empty__icon {
  width: 54px;
  height: 54px;
  margin: 0 auto 14px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: var(--soft-jade);
  color: var(--accent);
  font-size: 1.25rem;
}
.opinion-empty h3 {
  margin: 0 0 6px;
  font-size: 1.15rem;
}
.opinion-empty p {
  margin: 0;
  color: var(--muted);
  font-size: .88rem;
}
.opinion-modal {
  position: fixed;
  inset: 0;
  z-index: 2100;
}
.opinion-modal[hidden] {
  display: none !important;
}
.opinion-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8,18,28,.66);
  backdrop-filter: blur(5px);
}
.opinion-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(650px, calc(100% - 30px));
  max-height: min(760px, calc(100vh - 50px));
  overflow-y: auto;
  margin: min(8vh, 70px) auto 0;
  padding: 31px;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 30px 90px rgba(0,0,0,.3);
}
.opinion-modal__close {
  position: absolute;
  right: 15px;
  top: 12px;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: #f2f6f6;
  color: var(--ink);
  font-size: 1.55rem;
  line-height: 1;
  cursor: pointer;
}
.opinion-modal__icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: var(--soft-jade);
  color: var(--accent);
}
.opinion-modal__eyebrow {
  margin-top: 19px;
  color: var(--accent);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .16em;
}
.opinion-modal h2 {
  margin: 6px 45px 10px 0;
  font-size: clamp(1.7rem, 4vw, 2.25rem);
  line-height: 1.08;
  letter-spacing: -.04em;
}
.opinion-modal__rating {
  color: #e5a500;
  font-size: .92rem;
  letter-spacing: 2px;
}
.opinion-modal__rating > span {
  color: #cbd3d6;
}
.opinion-modal__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 16px 0 20px;
}
.opinion-modal__meta span {
  padding: 7px 10px;
  border-radius: 999px;
  background: #f3f7f7;
  color: #4e656d;
  font-size: .73rem;
  font-weight: 750;
}
.opinion-modal__message {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  padding: 20px;
  border-radius: 17px;
  background: #f8fbfb;
  color: #34454c;
  line-height: 1.8;
  font-size: .92rem;
}
.opinion-modal__recommend {
  margin-top: 15px;
  padding: 12px 14px;
  border-left: 3px solid var(--accent);
  border-radius: 8px;
  background: #f0faf8;
  color: #25665e;
  font-size: .8rem;
  font-weight: 750;
}

@media (max-width: 1000px) {
  .opinion-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  .opinion-list-section {
    padding-left: 20px;
    padding-right: 20px;
  }
  .opinion-list-heading {
    display: block;
  }
  .opinion-count {
    margin-top: 15px;
  }
  .opinion-cards {
    grid-template-columns: 1fr;
  }
  .opinion-card {
    padding: 19px;
  }
  .opinion-modal__dialog {
    width: calc(100% - 20px);
    max-height: calc(100vh - 30px);
    margin: 15px auto 0;
    padding: 25px 19px 20px;
    border-radius: 22px;
  }
}


/* Opinion Matters admin moderation */
.feedback-admin-page .admin-heading p{max-width:780px}
.feedback-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:28px 0 20px}
.feedback-stat{display:flex;flex-direction:column;gap:4px;padding:18px 20px;border:1px solid #dfe8e7;border-radius:16px;background:#fff;text-decoration:none;color:#172238;box-shadow:0 8px 22px rgba(20,42,60,.05)}
.feedback-stat strong{font-size:28px;line-height:1}
.feedback-stat span{font-size:13px;color:#687586}
.feedback-stat.is-active{border-color:#13a69a;box-shadow:0 0 0 3px rgba(19,166,154,.10)}
.feedback-admin-filters{display:grid;grid-template-columns:minmax(260px,1fr) 230px auto auto;gap:12px;align-items:end;padding:18px;margin-bottom:24px;border:1px solid #e1e9e8;border-radius:18px;background:#f8fbfb}
.feedback-admin-filters label{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:13px;color:#425169}
.feedback-admin-filters input,.feedback-admin-filters select{min-height:48px;border:1px solid #d6e2e0;border-radius:12px;background:#fff;padding:0 14px;font:inherit;color:#172238}
.feedback-admin-list{display:grid;gap:18px}
.feedback-admin-card{border:1px solid #dfe7e6;border-radius:20px;background:#fff;padding:24px;box-shadow:0 10px 28px rgba(20,42,60,.06)}
.feedback-admin-card--pending{border-left:5px solid #f0b429}
.feedback-admin-card--approved{border-left:5px solid #18a681}
.feedback-admin-card--rejected,.feedback-admin-card--archived{border-left:5px solid #a9b3bf}
.feedback-admin-card__head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.feedback-admin-id{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#738095}
.feedback-admin-card h2{margin:5px 0 3px;font-size:22px;color:#172238}
.feedback-admin-meta{font-size:13px;color:#738095;overflow-wrap:anywhere}
.feedback-admin-meta a{color:#087f78}
.feedback-status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;white-space:nowrap}
.feedback-status-badge--pending{background:#fff4d6;color:#805900}
.feedback-status-badge--approved{background:#e4f7f0;color:#087a5d}
.feedback-status-badge--rejected,.feedback-status-badge--archived{background:#eef1f4;color:#5e6875}
.feedback-admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}
.feedback-admin-grid>div{padding:14px;border-radius:13px;background:#f7faf9}
.feedback-field-label{display:block;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#7a8797;margin-bottom:6px}
.feedback-admin-grid strong{font-size:14px;color:#243148}
.feedback-admin-rating{letter-spacing:2px}
.feedback-admin-message{padding:16px 18px;border-radius:14px;background:#fafbfc;border:1px solid #edf0f2}
.feedback-admin-message p{margin:0;color:#39465b;line-height:1.65;overflow-wrap:anywhere}
.feedback-admin-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px;padding-top:18px;border-top:1px solid #edf0f2}
.feedback-admin-actions form{margin:0}
.feedback-admin-actions .primary-action,.feedback-admin-actions .secondary-action{min-height:42px}
.feedback-action-danger{color:#9a3b3b!important;border-color:#e8cccc!important}
.feedback-action-delete{color:#a33a3a!important;border-color:#ebcaca!important}
.admin-empty-state{text-align:center;padding:60px 20px;border:1px dashed #ccd9d7;border-radius:20px;background:#fbfdfc}
.admin-empty-state i{font-size:40px;color:#0b9187}
.admin-empty-state h2{margin:14px 0 5px}
.admin-empty-state p{color:#718092}
@media(max-width:900px){
  .feedback-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feedback-admin-filters{grid-template-columns:1fr 1fr}
  .feedback-admin-filters .primary-action,.feedback-admin-filters .secondary-action{width:100%;justify-content:center}
  .feedback-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .feedback-admin-stats{grid-template-columns:1fr 1fr;gap:9px}
  .feedback-stat{padding:14px}
  .feedback-stat strong{font-size:24px}
  .feedback-admin-filters{grid-template-columns:1fr;padding:14px}
  .feedback-admin-card{padding:18px}
  .feedback-admin-card__head{flex-direction:column}
  .feedback-admin-grid{grid-template-columns:1fr}
  .feedback-admin-actions{flex-direction:column}
  .feedback-admin-actions form,.feedback-admin-actions button{width:100%}
  .feedback-admin-actions button{justify-content:center}
}


/* Sprint 6.4 — richer international eBay offer cards */
.offer-card__media{
  width:100%;
  height:190px;
  border-radius:15px;
  background:linear-gradient(145deg,#f7faf9,#edf5f2);
  border:1px solid rgba(23,32,51,.07);
  display:grid;
  place-items:center;
  overflow:hidden;
}
.offer-card__media img{width:100%;height:100%;object-fit:contain;padding:12px;display:block}
.offer-card__media.is-image-missing img{display:none}
.offer-card__media.is-image-missing::after{
  content:'Image unavailable';
  color:var(--muted);
  font-size:.76rem;
  font-weight:750;
}
.offer-card__media-fallback{
  width:62px;height:62px;border-radius:18px;
  display:grid;place-items:center;
  background:var(--soft-jade);color:var(--accent-strong);
  font-size:1.7rem;font-weight:900;
}
.offer-card__title{
  margin:0;
  font-size:.94rem;
  line-height:1.42;
  font-weight:820;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:4.02em;
}
.offer-card__chips{display:flex;flex-wrap:wrap;gap:.42rem}
.offer-card__chips span{
  display:inline-flex;align-items:center;
  padding:.34rem .52rem;
  border-radius:999px;
  background:#f3f7f6;
  border:1px solid #e1ebe8;
  color:#52606b;
  font-size:.68rem;
  font-weight:780;
}
.offer-card__detail{
  display:flex;
  align-items:flex-start;
  gap:.48rem;
  color:#5c6872;
  font-size:.72rem;
  line-height:1.45;
}
.offer-card__detail i{
  width:15px;
  color:var(--accent);
  margin-top:.08rem;
  flex:0 0 15px;
}
.offer-card__availability{
  margin-top:.05rem;
  padding-top:.7rem;
  border-top:1px solid #edf0f0;
}
@media(max-width:1100px){
  .offer-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .offer-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .offer-card-grid{grid-template-columns:1fr}
  .offer-card__media{height:220px}
  .offer-card__title{min-height:0}
}
@media(max-width:520px){
  .offer-card__media{height:240px}
}

/* Sprint 6.6.6 — source-owned unified catalog */
.detail-source-identity{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin:.35rem 0 .8rem}
.detail-source-identity .source-pill{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.38rem .65rem;font-size:.72rem;font-weight:820;color:var(--ink)}
.detail-source-identity .source-pill--provider{border-color:rgba(15,118,110,.24);background:var(--soft-jade);color:var(--accent-strong)}
.source-products-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.source-product-card{border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}
.source-product-card__media{height:180px;background:linear-gradient(145deg,#f6faf9,#edf4f1);display:grid;place-items:center;overflow:hidden}
.source-product-card__media img{width:100%;height:100%;object-fit:contain;padding:12px}
.source-product-card__body{padding:1rem}
.source-product-card__source{font-size:.7rem;color:var(--accent);font-weight:820;text-transform:uppercase;letter-spacing:.04em}
.source-product-card h3{font-size:.95rem;line-height:1.35;margin:.35rem 0 .6rem}
.source-product-card__price{font-size:1.2rem;font-weight:880}
.source-product-card__cta{margin-top:.8rem;display:flex;justify-content:center;padding:.68rem;border-radius:11px;background:#172033;color:#fff;text-decoration:none;font-weight:800;font-size:.82rem}
@media (max-width:1100px){.offer-card-grid,.source-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){.offer-card-grid,.source-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.offer-card-grid,.source-products-grid{grid-template-columns:1fr}.product-source-badge{max-width:calc(100vw - 110px)}}


/* eBay Marketplace Account Deletion setup */
.integration-code-block {
    display: grid;
    gap: 6px;
    padding: 12px 14px;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 12px;
    background: rgba(15, 23, 42, .025);
}
.integration-code-block code {
    display: block;
    overflow-wrap: anywhere;
    font-size: .86rem;
}

/* Sprint 6.6.10 — search and admin workflow polish */
.fl-search,
.catalog-search {
  align-items: center;
}
.fl-search-leading,
.catalog-search-leading {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
}
button.fl-search-mic,
button.catalog-search-mic {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--accent);
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  transition: .2s;
}
button.fl-search-mic:hover,
button.catalog-search-mic:hover {
  border-color: var(--accent);
  background: var(--soft-jade);
}
/* Search action grouping keeps the microphone and submit controls aligned
   consistently across desktop and mobile layouts. */
.fl-search-actions,
.catalog-search-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:7px;
}
.fl-search-actions > button,
.catalog-search-actions > button{
  margin:0;
}
button.fl-search-mic,
button.catalog-search-mic{
  padding:0!important;
  line-height:1;
}
button.fl-search-mic.is-listening,
button.catalog-search-mic.is-listening {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
  animation: findlyra-mic-pulse 1.2s ease-in-out infinite;
}
.fl-voice-status {
  min-height: 1.35rem;
  margin-top: 7px;
  color: var(--muted);
  font-size: .8rem;
  font-weight: 650;
}
.fl-voice-status:not(.is-visible) {
  visibility: hidden;
}
.fl-voice-status.is-visible {
  visibility: visible;
}
@keyframes findlyra-mic-pulse {
  50% { transform: scale(1.05); }
}
@media (max-width: 575px) {
  .fl-search,
  .catalog-search {
    gap: 8px;
  }
  button.fl-search-mic,
  button.catalog-search-mic {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
  }
}

/* Admin dashboard */
.admin-dashboard {
  padding-bottom: 5rem;
}
.admin-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 2rem;
}
.admin-dashboard-card {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 15px;
  align-items: center;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--shadow-sm);
  color: var(--ink);
  text-decoration: none;
  transition: .2s;
}
.admin-dashboard-card:hover {
  transform: translateY(-2px);
  border-color: rgba(15,118,110,.35);
  box-shadow: var(--shadow);
}
.admin-dashboard-card--primary {
  border-color: rgba(15,118,110,.3);
  background: linear-gradient(135deg,#f5fbf9,#fff);
}
.admin-dashboard-card--status {
  cursor: default;
}
.admin-dashboard-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: var(--soft-jade);
  color: var(--accent);
  font-size: 1.1rem;
}
.admin-dashboard-card strong,
.admin-dashboard-card span {
  display: block;
}
.admin-dashboard-card strong {
  font-size: 1rem;
  margin-bottom: 4px;
}
.admin-dashboard-card div > span {
  color: var(--muted);
  font-size: .85rem;
  line-height: 1.5;
}
.admin-dashboard-card > b {
  color: var(--muted);
  font-size: .75rem;
  white-space: nowrap;
}
.admin-dashboard-card > b.is-good {
  color: #13795b;
}
.admin-dashboard-summary {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 12px;
  margin-top: 18px;
}
.admin-dashboard-summary > div {
  padding: 18px;
  border-radius: 16px;
  background: var(--soft);
  border: 1px solid var(--line);
}
.admin-dashboard-summary strong,
.admin-dashboard-summary span {
  display: block;
}
.admin-dashboard-summary strong {
  font-size: 1.5rem;
  letter-spacing: -.03em;
}
.admin-dashboard-summary span {
  color: var(--muted);
  font-size: .78rem;
  margin-top: 3px;
}
.fl-main-nav--admin a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.fl-main-nav--admin a i {
  font-size: .8rem;
}
@media (max-width: 850px) {
  .admin-dashboard-grid {
    grid-template-columns: 1fr;
  }
  .admin-dashboard-summary {
    grid-template-columns: repeat(2,1fr);
  }
}
@media (max-width: 575px) {
  .admin-dashboard-card {
    grid-template-columns: auto minmax(0,1fr);
  }
  .admin-dashboard-card > b {
    grid-column: 2;
  }
  .admin-dashboard-summary {
    grid-template-columns: 1fr 1fr;
  }
}



/* Sprint 6.6.13 hotfix — render provider listing content without seller CSS */
.source-content-card__body{
  overflow-wrap:anywhere;
}
.source-content-card__body > :first-child{margin-top:0}
.source-content-card__body > :last-child{margin-bottom:0}
.source-content-card__body p,
.source-content-card__body div,
.source-content-card__body span{
  max-width:100%;
}
.source-content-card__body p,
.source-content-card__body div{margin:.7rem 0}
.source-content-card__body h1,
.source-content-card__body h2,
.source-content-card__body h3,
.source-content-card__body h4,
.source-content-card__body h5,
.source-content-card__body h6{
  color:var(--ink);
  line-height:1.25;
  margin:1.1rem 0 .55rem;
}
.source-content-card__body h1{font-size:1.55rem}
.source-content-card__body h2{font-size:1.35rem}
.source-content-card__body h3{font-size:1.15rem}
.source-content-card__body h4,
.source-content-card__body h5,
.source-content-card__body h6{font-size:1rem}
.source-content-card__body ul,
.source-content-card__body ol{padding-left:1.35rem;margin:.8rem 0}
.source-content-card__body li{margin:.3rem 0}
.source-content-card__body img{
  display:block;
  max-width:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  margin:.9rem auto;
  border-radius:8px;
}
.source-content-card__body table{
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  border-collapse:collapse;
  margin:1rem 0;
}
.source-content-card__body th,
.source-content-card__body td{
  padding:.55rem .7rem;
  border:1px solid var(--line);
  text-align:left;
  vertical-align:top;
}
.source-content-card__body th{background:#f7faf9;font-weight:800}
.source-content-card__body a{color:var(--accent);font-weight:700}
.source-content-card__body pre,
.source-content-card__body code{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.source-content-card__body hr{border:0;border-top:1px solid var(--line);margin:1rem 0}


/* =========================================================
   6.6.15 — Mobile interaction + share-brand consistency
   Additive production hardening. Existing desktop styles remain unchanged.
   ========================================================= */

/* Home quick highlights: each mobile item is a distinct, readable block.
   Explicit row-gap avoids collapsed/adjacent cards on narrow browsers. */
@media (max-width: 620px) {
  .fl-quick-grid {
    grid-template-columns: 1fr !important;
    row-gap: 14px !important;
    column-gap: 0 !important;
    padding: 14px 0 !important;
  }
  .fl-quick-grid > div,
  .fl-quick-grid > div:nth-child(2),
  .fl-quick-grid > div:nth-child(3),
  .fl-quick-grid > div:nth-child(4) {
    width: 100% !important;
    min-height: 58px;
    margin: 0 !important;
    padding: 13px 12px !important;
    border: 1px solid rgba(23,32,51,.09) !important;
    border-radius: 14px !important;
    box-sizing: border-box;
    background: #fff;
  }
  .fl-quick-grid > div:last-child {
    border-bottom: 1px solid rgba(23,32,51,.09) !important;
  }
}

/* Comparison control: keep the hit area comfortably above mobile touch
   guidance and make the control visually independent from product imagery. */
.compare-toggle {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px;
  min-height: 48px;
  padding: 0 !important;
  appearance: none;
  -webkit-appearance: none;
  touch-action: manipulation;
  pointer-events: auto;
  user-select: none;
  -webkit-user-select: none;
  box-sizing: border-box;
}
.compare-toggle:focus-visible {
  outline: 3px solid rgba(15,118,110,.22);
  outline-offset: 2px;
}
.compare-toggle.selected {
  font-size: 1rem;
  font-weight: 900;
}

/* The mobile comparison tray must stay usable above browser safe areas and
   must never squeeze the primary action into an unusable width. */
.compare-bar {
  padding-bottom: max(.8rem, env(safe-area-inset-bottom)) !important;
}
@media (max-width: 767px) {
  .compare-bar {
    width: min(620px, calc(100% - 16px)) !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    padding: .7rem .75rem !important;
    border-radius: 16px;
    gap: .55rem !important;
  }
  .compare-bar > div:first-child {
    width: 100% !important;
    line-height: 1.35;
  }
  .compare-bar > div:last-child {
    width: 100% !important;
    margin-left: 0 !important;
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr);
    gap: .45rem !important;
  }
  .compare-bar button,
  .compare-bar .compare-now {
    min-height: 46px !important;
  }
  .compare-bar .compare-now {
    width: 100%;
  }
}

/* Advanced comparison: make the frozen attribute column and the product
   columns unambiguous while preserving intentional horizontal scrolling. */
.compare-scroll--advanced {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scrollbar-gutter: stable;
}
.compare-table--advanced thead th {
  position: relative;
  z-index: 1;
}
.compare-table--advanced .compare-label-head {
  position: sticky;
  left: 0;
  z-index: 6 !important;
  background: #f8faf9 !important;
}
.compare-table--advanced .compare-row-label {
  position: sticky;
  left: 0;
  z-index: 5 !important;
  background: #fbfcfc !important;
}
.compare-table--advanced .compare-product-head {
  z-index: 2;
  background: #fff !important;
}
.compare-table--advanced .compare-remove {
  z-index: 8;
}
@media (max-width: 767px) {
  .compare-section--advanced {
    overflow: visible;
  }
  .compare-toolbar__actions {
    display: grid !important;
    grid-template-columns: 1fr;
    width: 100% !important;
  }
  .compare-toolbar__actions > * {
    width: 100%;
    min-height: 46px;
    box-sizing: border-box;
  }
  .compare-scroll--advanced {
    position: relative;
    overflow-x: auto !important;
    overflow-y: visible;
    margin-left: -12px !important;
    margin-right: -12px !important;
    width: calc(100% + 24px);
    border-radius: 14px !important;
  }
  .compare-table--advanced {
    min-width: 760px !important;
  }
  .compare-table--advanced .compare-label-head,
  .compare-table--advanced .compare-row-label {
    width: 145px !important;
    min-width: 145px !important;
    max-width: 145px !important;
    box-shadow: 6px 0 14px rgba(23,32,51,.08);
  }
  .compare-table--advanced .compare-product-head {
    width: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
  }
  .compare-table--advanced .compare-product-media {
    height: 128px !important;
  }
}

/* Provider/source verification metadata stays compact and provider-neutral. */
.offer-card__checked {
  display: flex;
  align-items: flex-start;
  gap: .45rem;
  margin-top: .55rem;
  color: #55706c;
  font-size: .72rem;
  line-height: 1.4;
  font-weight: 700;
}
.offer-card__checked i {
  flex: 0 0 auto;
  color: var(--accent);
  margin-top: .1rem;
}

/* Voice status should never push the mobile search form sideways. */
.fl-voice-status,
.catalog-voice-status {
  max-width: 100%;
  overflow-wrap: anywhere;
}
@media (max-width: 575px) {
  .fl-search,
  .catalog-search {
    width: 100%;
    box-sizing: border-box;
  }
  .fl-search input,
  .catalog-search input {
    min-width: 0 !important;
    width: 100%;
  }
}

.compare-scroll-hint {
  display: none;
  margin: .65rem 0 0;
  color: var(--muted);
  font-size: .76rem;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .compare-scroll-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
  }
  .compare-scroll-hint i { color: var(--accent); }
}


/* =========================================================
   6.6.16 — comparison/voice/mobile stabilization
   Additive hardening only. Existing visual language is preserved.
   ========================================================= */

/* Comparison rows use the semantic hidden attribute as the final filter
   mechanism. This avoids table-row display quirks between mobile browsers. */
.compare-table--advanced tr[hidden] {
  display: none !important;
}
.compare-filter-status {
  min-height: 1.25rem;
  margin: .55rem 0 .9rem;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.5;
  font-weight: 700;
}
.compare-filter-status:empty {
  display: none;
}

/* Keep the comparison table geometry deterministic. The first column is the
   frozen attribute rail; product columns remain individually readable. */
.compare-scroll--advanced {
  position: relative;
  isolation: isolate;
}
.compare-table--advanced {
  table-layout: fixed;
}
.compare-table--advanced .compare-label-head,
.compare-table--advanced .compare-row-label {
  width: 190px;
  min-width: 190px;
  max-width: 190px;
}
.compare-table--advanced .compare-product-head {
  width: 220px;
  min-width: 220px;
}
.compare-table--advanced .compare-product-link h3 {
  overflow-wrap: anywhere;
}
.compare-table--advanced td:not(.compare-row-label) {
  overflow-wrap: anywhere;
}

/* Touch targets remain at least 48px, and the control is lifted above the
   image layer on every responsive breakpoint. */
.compare-toggle {
  min-width: 48px !important;
  min-height: 48px !important;
  z-index: 10 !important;
  -webkit-user-select: none;
  user-select: none;
  touch-action: manipulation;
}
.compare-toggle i,
.compare-toggle span {
  pointer-events: none;
}

@media (max-width: 767px) {
  .compare-scroll--advanced {
    max-width: 100vw;
    overflow-x: auto !important;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }

  .compare-table--advanced {
    width: max-content;
    min-width: 760px !important;
    table-layout: fixed;
  }

  .compare-table--advanced .compare-label-head,
  .compare-table--advanced .compare-row-label {
    width: 145px !important;
    min-width: 145px !important;
    max-width: 145px !important;
  }

  .compare-table--advanced .compare-product-head {
    width: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
  }

  .compare-filter-status {
    margin-top: .35rem;
    margin-bottom: .7rem;
    text-align: center;
  }

  .compare-toggle {
    right: 8px !important;
    top: 8px !important;
  }
}

/* Give the four homepage highlights a consistent mobile rhythm without
   changing their desktop presentation. */
@media (max-width: 620px) {
  .fl-quick-grid {
    row-gap: 14px !important;
  }
  .fl-quick-grid > div {
    min-height: 58px;
  }
}


/* Findlyra 6.6.17 — read-only catalog verification */
.verification-page{padding-bottom:5rem}
.verification-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0 14px}
.verification-summary-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}
.verification-summary-card strong,.verification-summary-card span{display:block}
.verification-summary-card strong{font-size:1.6rem;letter-spacing:-.03em}
.verification-summary-card span{margin-top:4px;color:var(--muted);font-size:.78rem;line-height:1.4}
.verification-summary-card.is-good{border-color:rgba(15,118,110,.28);background:linear-gradient(135deg,#f3fbf8,#fff)}
.verification-summary-card.is-alert{border-color:#efc6bd;background:#fff8f6}
.verification-banner{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;border:1px solid var(--line);margin-bottom:30px}
.verification-banner.is-good{background:#f1faf6;border-color:#bfe7d8}
.verification-banner.is-warning{background:#fffaf0;border-color:#ecd49f}
.verification-banner.is-alert{background:#fff5f3;border-color:#efc7bf}
.verification-banner__icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#fff;font-size:1rem;flex:0 0 auto}
.verification-banner strong,.verification-banner span{display:block}
.verification-banner strong{font-size:.98rem}
.verification-banner span{color:var(--muted);font-size:.78rem;margin-top:3px;line-height:1.5}
.verification-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);gap:26px;align-items:start}
.verification-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}
.verification-section-heading h2{margin:4px 0 0;font-size:1.45rem;letter-spacing:-.02em}
.verification-section-heading>span{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.verification-check-list,.verification-source-list{display:grid;gap:10px}
.verification-check{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:13px;align-items:start;padding:15px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}
.verification-check__icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--soft);font-size:.95rem}
.verification-check.is-pass .verification-check__icon{color:#13795b;background:#edf9f4}
.verification-check.is-attention .verification-check__icon{color:#a36a08;background:#fff7e8}
.verification-check.is-unavailable .verification-check__icon{color:#66737e}
.verification-check__top{display:flex;align-items:center;gap:9px;justify-content:space-between}
.verification-check h3{margin:0;font-size:.94rem}
.verification-check p{margin:5px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}
.verification-check__count{font-size:1.15rem;min-width:28px;text-align:right}
.verification-severity{font-size:.62rem;font-weight:900;letter-spacing:.07em;padding:4px 7px;border-radius:999px;background:#f1f4f4;color:#66737e;white-space:nowrap}
.verification-check.is-pass .verification-severity{background:#edf9f4;color:#13795b}
.verification-check.is-attention .verification-severity{background:#fff7e8;color:#9a650d}
.verification-source-card{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}
.verification-source-card__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.verification-source-card__head strong,.verification-source-card__head code{display:block}
.verification-source-card__head strong{font-size:.95rem}
.verification-source-card__head code{margin-top:3px;color:var(--muted);font-size:.7rem}
.verification-status-pill,.verification-run-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:.62rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.verification-status-pill.active,.verification-run-status.completed{background:#edf9f4;color:#13795b}
.verification-status-pill.planned{background:#f4f5f5;color:#66737e}
.verification-status-pill.paused{background:#fff7e8;color:#9a650d}
.verification-status-pill.disabled,.verification-run-status.failed{background:#fff0ee;color:#a33a2a}
.verification-source-card__meta{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0 10px}
.verification-source-card__meta span{font-size:.72rem;color:var(--muted);padding:5px 8px;border-radius:8px;background:var(--soft)}
.verification-adapter{display:flex;gap:8px;align-items:flex-start;padding:9px 10px;border-radius:10px;background:#f7faf9;color:#315d54;font-size:.72rem;line-height:1.45}
.verification-adapter i{margin-top:2px}
.verification-source-card small{display:block;color:var(--muted);font-size:.68rem;margin-top:9px}
.verification-imports{margin-top:34px}
.verification-import-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:#fff}
.verification-import-table{width:100%;min-width:780px;border-collapse:collapse;font-size:.75rem}
.verification-import-table th,.verification-import-table td{padding:12px 13px;text-align:left;border-bottom:1px solid #edf0ef;white-space:nowrap}
.verification-import-table th{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#fafcfb}
.verification-import-table tr:last-child td{border-bottom:0}
.verification-import-table td:first-child strong,.verification-import-table td:first-child small{display:block}
.verification-import-table td:first-child small{color:var(--muted);font-size:.64rem;margin-top:2px}
.verification-run-status.running,.verification-run-status.queued{background:#fff7e8;color:#9a650d}
.verification-run-status.invalid{background:#fff0ee;color:#a33a2a}
.verification-empty{padding:18px;border:1px dashed #cfd9d7;border-radius:14px;color:var(--muted);background:#fbfdfc;font-size:.8rem}
.verification-note{display:flex;gap:10px;align-items:flex-start;margin-top:22px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fbfdfc;color:var(--muted);font-size:.76rem;line-height:1.55}
.verification-note i{color:var(--accent);margin-top:3px}
.verification-note p{margin:0}
@media(max-width:900px){
  .verification-layout{grid-template-columns:1fr}
  .verification-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:575px){
  .verification-summary{grid-template-columns:1fr 1fr}
  .verification-check{grid-template-columns:38px minmax(0,1fr);gap:10px}
  .verification-check__icon{width:38px;height:38px}
  .verification-check__count{grid-column:2;text-align:left;font-size:.82rem;color:var(--muted)}
  .verification-check__top{align-items:flex-start;flex-direction:column}
  .verification-section-heading{align-items:flex-start}
  .verification-banner{align-items:flex-start}
}

/* Admin navigation refresh — grouped menus, keyboard-friendly and mobile-first. */
.fl-main-nav--admin{
  align-items:center;
}
.fl-main-nav--admin .fl-admin-home-link,
.fl-main-nav--admin .fl-admin-menu > summary{
  min-height:42px;
  padding:10px 12px;
  border-radius:12px;
  color:var(--ink);
  font-weight:760;
  text-decoration:none;
  list-style:none;
  cursor:pointer;
}
.fl-main-nav--admin .fl-admin-home-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.fl-main-nav--admin .fl-admin-menu{
  position:relative;
}
.fl-main-nav--admin .fl-admin-menu > summary{
  display:inline-flex;
  align-items:center;
  gap:8px;
  user-select:none;
}
.fl-main-nav--admin .fl-admin-menu > summary::-webkit-details-marker{display:none}
.fl-main-nav--admin .fl-admin-menu > summary:hover,
.fl-main-nav--admin .fl-admin-menu[open] > summary,
.fl-main-nav--admin .fl-admin-menu.is-current > summary,
.fl-main-nav--admin .fl-admin-home-link:hover,
.fl-main-nav--admin .fl-admin-home-link.active{
  color:var(--accent);
  background:var(--soft-jade);
}
.fl-admin-chevron{
  font-size:.68rem!important;
  transition:transform .18s ease;
}
.fl-admin-menu[open] .fl-admin-chevron{transform:rotate(180deg)}
.fl-admin-dropdown{
  position:absolute;
  z-index:1000;
  top:calc(100% + 7px);
  left:0;
  min-width:210px;
  padding:7px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:var(--shadow);
}
.fl-admin-dropdown a{
  display:flex!important;
  align-items:center;
  gap:9px;
  width:100%;
  padding:10px 11px!important;
  border-radius:10px;
  color:var(--ink)!important;
  text-decoration:none;
  white-space:nowrap;
}
.fl-admin-dropdown a:hover,
.fl-admin-dropdown a.active{
  color:var(--accent)!important;
  background:var(--soft-jade);
}
.fl-admin-dropdown a.active:after{display:none}

@media (max-width:900px){
  .fl-main-nav--admin{
    align-items:stretch;
  }
  .fl-main-nav--admin .fl-admin-home-link,
  .fl-main-nav--admin .fl-admin-menu > summary{
    width:100%;
    min-height:48px;
    justify-content:flex-start;
    padding:13px 14px;
  }
  .fl-admin-dropdown{
    position:static;
    min-width:0;
    margin:0 0 6px;
    padding:5px;
    border:0;
    border-radius:12px;
    background:var(--soft);
    box-shadow:none;
  }
  .fl-admin-dropdown a{
    min-height:44px;
    padding:11px 13px!important;
    white-space:normal;
  }
  .fl-main-nav--admin .fl-admin-menu{
    width:100%;
  }
}


/* Phase 2 — public taxonomy landing pages. Reuses the existing product-card
   system and keeps the new UI isolated from the existing catalog layout. */
.taxonomy-hero{
  padding:28px 0 22px;
  background:linear-gradient(180deg,#f5fbf8 0%,#fff 100%);
  border-bottom:1px solid var(--line);
}
.taxonomy-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);
  gap:28px;
  align-items:stretch;
}
.taxonomy-hero h1{
  margin:8px 0 12px;
  font-size:clamp(2rem,4vw,3.6rem);
  letter-spacing:-.045em;
}
.taxonomy-hero p{
  max-width:760px;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.7;
  margin:0;
}
.taxonomy-hero__stats{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px 20px;
  margin-top:20px;
}
.taxonomy-hero__stats span{
  color:var(--muted);
}
.taxonomy-hero__stats strong{
  color:var(--ink);
  font-size:1.15rem;
}
.taxonomy-hero__stats a{
  color:var(--accent);
  font-weight:760;
  text-decoration:none;
}
.taxonomy-hero__signal{
  min-height:190px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.taxonomy-hero__signal-icon{
  width:48px;height:48px;
  display:grid;place-items:center;
  border-radius:15px;
  background:var(--soft-jade);
  color:var(--accent);
  margin-bottom:15px;
}
.taxonomy-hero__signal strong{font-size:1.1rem}
.taxonomy-hero__signal small{color:var(--muted);line-height:1.6;margin-top:7px}
.taxonomy-space{padding-top:30px;padding-bottom:56px}
.taxonomy-section-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin:30px 0 16px;
}
.taxonomy-section-heading h2{margin:4px 0 0;letter-spacing:-.025em}
.taxonomy-section-heading p{margin:7px 0 0;color:var(--muted)}
.taxonomy-result-count{color:var(--muted);font-weight:700;white-space:nowrap}
.taxonomy-child-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.taxonomy-child-card{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-height:112px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:16px;
  color:var(--ink);
  text-decoration:none;
  background:#fff;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.taxonomy-child-card:hover{
  transform:translateY(-2px);
  border-color:rgba(18,134,118,.35);
  box-shadow:var(--shadow);
}
.taxonomy-child-card>span{
  color:var(--accent);
  font-size:1rem;
}
.taxonomy-child-card strong{font-size:.98rem}
.taxonomy-child-card small{color:var(--muted)}
.taxonomy-product-grid{margin-top:0}
.taxonomy-product-card__link{
  display:block;
  height:100%;
  color:inherit;
  text-decoration:none;
}
.taxonomy-product-card__link:hover .taxonomy-view-link{color:var(--accent)}
.taxonomy-view-link{
  display:inline-flex;
  margin-top:10px;
  color:var(--ink);
  font-weight:760;
}
.taxonomy-pagination{margin-top:28px}
.taxonomy-pagination-note{
  margin:10px 0 0;
  color:var(--muted);
  font-size:.88rem;
  text-align:center;
}

@media (max-width:900px){
  .taxonomy-hero__grid{grid-template-columns:1fr}
  .taxonomy-hero__signal{min-height:0}
  .taxonomy-child-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .taxonomy-hero{padding-top:18px}
  .taxonomy-hero h1{font-size:2.15rem}
  .taxonomy-hero__grid{gap:18px}
  .taxonomy-hero__signal{padding:18px;border-radius:18px}
  .taxonomy-space{padding-top:18px}
  .taxonomy-section-heading{align-items:flex-start;flex-direction:column;gap:8px;margin-top:24px}
  .taxonomy-child-grid{grid-template-columns:1fr 1fr;gap:9px}
  .taxonomy-child-card{min-height:100px;padding:13px;border-radius:14px}
  .taxonomy-product-grid{grid-template-columns:1fr!important}
  .taxonomy-product-card .product-visual{min-height:220px}
}

.taxonomy-inline-link{color:inherit;text-decoration:none;border-bottom:1px dashed currentColor}
.taxonomy-inline-link:hover{color:var(--accent)}

.fl-live-category-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.fl-live-category-card{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  padding:14px;
  min-height:76px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  color:var(--ink);
  text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.fl-live-category-card:hover{
  transform:translateY(-2px);
  border-color:rgba(18,134,118,.35);
  box-shadow:var(--shadow);
}
.fl-live-category-card__icon{
  width:38px;height:38px;
  display:grid;place-items:center;
  border-radius:12px;
  background:var(--soft-jade);
  color:var(--accent);
}
.fl-live-category-card strong{display:block}
.fl-live-category-card small{display:block;color:var(--muted);margin-top:3px}
.fl-live-category-card>i{color:var(--muted)}
@media (max-width:900px){
  .fl-live-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .fl-live-category-grid{grid-template-columns:1fr}
}


/* Phase 3 — price-drop and comparison discovery pages. */
.phase3-hero{
  padding:28px 0 26px;
  background:linear-gradient(180deg,#f5fbf8 0%,#fff 100%);
  border-bottom:1px solid var(--line);
}
.phase3-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);
  gap:28px;
  align-items:stretch;
}
.phase3-hero h1{
  margin:8px 0 12px;
  max-width:950px;
  font-size:clamp(2rem,4.2vw,3.5rem);
  letter-spacing:-.045em;
}
.phase3-hero h1 span{color:var(--accent)}
.phase3-hero p{max-width:800px;color:var(--muted);font-size:1.03rem;line-height:1.7;margin:0}
.phase3-stat-row{display:flex;align-items:baseline;gap:10px;margin-top:20px;color:var(--muted)}
.phase3-stat-row strong{font-size:1.7rem;color:var(--ink)}
.phase3-trust-card{
  min-height:190px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.phase3-icon{
  width:48px;height:48px;display:grid;place-items:center;
  border-radius:15px;background:var(--soft-jade);color:var(--accent);
  margin-bottom:15px;
}
.phase3-trust-card strong{font-size:1.08rem}
.phase3-trust-card small{margin-top:7px;color:var(--muted);line-height:1.6}
.phase3-space{padding-top:30px;padding-bottom:56px}
.phase3-section-heading{
  display:flex;align-items:end;justify-content:space-between;gap:18px;margin:30px 0 16px
}
.phase3-section-heading h2{margin:4px 0 0;letter-spacing:-.025em}
.phase3-section-heading p{margin:7px 0 0;color:var(--muted)}
.phase3-chip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.phase3-chip{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:15px 16px;border:1px solid var(--line);border-radius:15px;
  color:var(--ink);background:#fff;text-decoration:none;
}
.phase3-chip:hover{border-color:rgba(18,134,118,.35);box-shadow:var(--shadow)}
.phase3-chip strong{color:var(--accent)}
.phase3-deal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.phase3-deal-card{
  display:flex;flex-direction:column;overflow:hidden;
  border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);
}
.phase3-deal-card__image{
  height:220px;display:grid;place-items:center;background:#f8faf9;color:var(--muted);text-decoration:none;
}
.phase3-deal-card__image img{width:100%;height:100%;object-fit:contain}
.phase3-deal-card__image span{font-size:2.5rem}
.phase3-deal-card__body{padding:17px}
.phase3-deal-card h3{margin:7px 0 12px;font-size:1.02rem;line-height:1.45}
.phase3-deal-card h3 a{color:var(--ink);text-decoration:none}
.phase3-deal-card h3 a:hover{color:var(--accent)}
.phase3-price-drop{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.phase3-price-drop strong{font-size:1.3rem}
.phase3-price-drop span{font-size:.82rem;font-weight:760;color:var(--accent);text-align:right}
.phase3-price-history{margin-top:8px;color:var(--muted);font-size:.88rem}
.phase3-view-link{display:inline-flex;margin-top:14px;color:var(--ink);font-weight:760;text-decoration:none}
.phase3-view-link:hover{color:var(--accent)}
.phase3-pagination{margin-top:28px}
.phase3-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.phase3-comparison-card{
  padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)
}
.phase3-comparison-card__label{color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.phase3-comparison-card h3{margin:10px 0 8px;font-size:1.08rem;line-height:1.5}
.phase3-comparison-card h3 span{color:var(--muted);font-weight:600}
.phase3-comparison-card p{color:var(--muted);margin:0 0 16px;line-height:1.55}
.phase3-comparison-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}
.phase3-comparison-table{width:100%;min-width:680px;border-collapse:collapse}
.phase3-comparison-table th,.phase3-comparison-table td{padding:14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.phase3-comparison-table thead th{background:#f8faf9}
.phase3-comparison-table thead th:first-child{width:180px}
.phase3-comparison-table thead a{display:flex;flex-direction:column;gap:8px;color:var(--ink);text-decoration:none}
.phase3-comparison-table thead img{width:120px;height:100px;object-fit:contain;border-radius:10px;background:#fff}
.phase3-comparison-table tbody tr.is-different{background:#f7fbfa}
.phase3-comparison-table tbody th{color:var(--muted);font-weight:760}
.phase3-bottom-links{display:flex;justify-content:space-between;gap:12px;margin-top:20px}
@media (max-width:900px){
  .phase3-hero__grid{grid-template-columns:1fr}
  .phase3-trust-card{min-height:0}
  .phase3-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .phase3-deal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .phase3-hero{padding-top:18px}
  .phase3-hero h1{font-size:2.1rem}
  .phase3-hero__grid{gap:18px}
  .phase3-trust-card{padding:18px;border-radius:18px}
  .phase3-space{padding-top:18px}
  .phase3-section-heading{align-items:flex-start;flex-direction:column;gap:8px;margin-top:24px}
  .phase3-chip-grid,.phase3-deal-grid,.phase3-comparison-grid{grid-template-columns:1fr}
  .phase3-deal-card__image{height:220px}
  .phase3-bottom-links{flex-direction:column}
}


/* Findlyra trust, legal and payment-information pages */
.fl-policy-page{padding-top:clamp(40px,6vw,78px);padding-bottom:clamp(48px,7vw,90px);max-width:1000px}
.fl-policy-hero{max-width:860px;margin:0 auto 24px}
.fl-policy-hero h1{margin:.35rem 0 .5rem}
.fl-policy-effective{color:#64748b;font-size:.9rem;margin:0}
.fl-policy-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:clamp(22px,4vw,42px);box-shadow:0 8px 30px rgba(15,23,42,.05)}
.fl-policy-card h2{margin:2rem 0 .7rem;line-height:1.25}
.fl-policy-card h2:first-child{margin-top:.25rem}
.fl-policy-card p,.fl-policy-card li{color:#334155;line-height:1.72}
.fl-policy-card ul{padding-left:1.35rem}
.fl-policy-card a{overflow-wrap:anywhere}
.fl-policy-notice{border-left:4px solid #0b827b;background:#eef8f6;padding:15px 18px;border-radius:8px;margin:1.2rem 0}
.fl-policy-small{font-size:.9rem;color:#64748b}
@media (max-width:700px){
  .fl-policy-card{border-radius:14px;padding:20px}
}

/* Product catalog hero uses the same visual language as the Findlyra homepage. */

.fl-product-hero .fl-hero-copy{padding-block:10px}
.fl-product-hero .fl-hero-visual{min-height:500px}
@media (max-width:1100px){
  .fl-product-hero .fl-hero-wrap{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr)}
}
@media (max-width:760px){
  .fl-product-hero .fl-hero-visual{min-height:440px}
  .fl-product-hero .fl-float-card{min-width:165px}
  .fl-product-hero .fl-float-products{left:0;top:10%}
  .fl-product-hero .fl-float-flights{right:0;top:20%}
  .fl-product-hero .fl-float-hotels{left:0;bottom:14%}
  .fl-product-hero .fl-float-offers{right:0;bottom:4%}
}


/* Product-only public polish: keep the hero close to the navigation on desktop
   and mobile without changing the established Findlyra visual system. */
.fl-home-hero{padding-top:18px}
.fl-product-hero{padding-top:18px}

/* Curated homepage discovery: compact, useful sections instead of a long
   category wall. Data comes from the live product catalog. */
.fl-home-discovery-section{padding-top:clamp(54px,7vw,88px)}
.fl-home-subhead{
  display:flex;align-items:end;justify-content:space-between;gap:24px;
  margin:8px 0 18px;
}
.fl-home-subhead h3{
  margin:9px 0 0;font-size:clamp(1.45rem,2.5vw,2.05rem);
  letter-spacing:-.035em;font-weight:900;color:var(--ink);
}
.fl-home-subhead--picks{margin-top:52px}
.fl-home-brand-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
}
.fl-home-brand-card{
  min-height:94px;display:flex;align-items:center;gap:13px;
  padding:15px 17px;border:1px solid var(--line);border-radius:18px;
  background:#fff;color:var(--ink);text-decoration:none;
  box-shadow:0 8px 25px rgba(23,32,51,.025);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.fl-home-brand-card:hover{
  color:var(--ink);transform:translateY(-4px);
  box-shadow:0 18px 42px rgba(23,32,51,.09);
  border-color:rgba(15,118,110,.25);
}
.fl-home-brand-mark{
  width:48px;height:48px;flex:0 0 48px;border-radius:15px;
  display:grid;place-items:center;background:var(--soft-jade);color:var(--accent);
}
.fl-home-brand-copy{min-width:0;flex:1}
.fl-home-brand-copy strong,.fl-home-brand-copy small{display:block}
.fl-home-brand-copy strong{font-size:.94rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fl-home-brand-copy small{margin-top:4px;color:var(--muted);font-size:.72rem}
.fl-home-brand-card>i{font-size:.76rem;color:#9aa5b1}

.fl-home-picks-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;
}
.fl-home-pick-card{
  display:block;overflow:hidden;border:1px solid var(--line);border-radius:22px;
  background:#fff;color:var(--ink);text-decoration:none;
  box-shadow:0 8px 25px rgba(23,32,51,.025);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.fl-home-pick-card:hover{
  color:var(--ink);transform:translateY(-5px);
  box-shadow:0 20px 46px rgba(23,32,51,.10);
  border-color:rgba(15,118,110,.25);
}
.fl-home-pick-media{
  height:205px;position:relative;display:grid;place-items:center;
  overflow:hidden;background:linear-gradient(145deg,#f3f8f7,#eef5f4);
}
.fl-home-pick-media img{width:100%;height:100%;object-fit:contain;padding:22px;display:block}
.fl-home-pick-media>span{
  width:64px;height:64px;border-radius:20px;display:grid;place-items:center;
  background:var(--soft-jade);color:var(--accent);font-size:1.45rem;
}
.fl-home-pick-media small{
  position:absolute;left:12px;top:12px;padding:6px 9px;border-radius:999px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
  color:var(--ink);font-size:.65rem;font-weight:850;letter-spacing:.03em;
}
.fl-home-pick-body{padding:15px 17px 17px}
.fl-home-pick-brand{
  color:var(--accent);font-size:.68rem;font-weight:850;text-transform:uppercase;
  letter-spacing:.08em;margin-bottom:7px;
}
.fl-home-pick-body h4{
  margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;font-size:.98rem;line-height:1.4;font-weight:850;min-height:2.75em;
}
.fl-home-pick-bottom{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;
}
.fl-home-pick-bottom strong{font-size:1rem}
.fl-home-pick-bottom span{font-size:.74rem;color:var(--accent);font-weight:850}
.fl-home-empty-card{
  padding:28px;border:1px dashed rgba(15,118,110,.25);border-radius:20px;
  background:#f7fbfa;display:flex;align-items:center;gap:14px;flex-wrap:wrap;
}
.fl-home-empty-card>i{color:var(--accent);font-size:1.3rem}
.fl-home-empty-card strong{font-size:.95rem}
.fl-home-empty-card span{color:var(--muted);font-size:.82rem;flex:1}

@media (max-width:900px){
  .fl-home-brand-grid,.fl-home-picks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .fl-home-hero,.fl-product-hero{padding-top:10px}
  .fl-home-subhead{align-items:flex-start;flex-direction:column;gap:10px}
  .fl-home-subhead--picks{margin-top:38px}
  .fl-home-brand-grid,.fl-home-picks-grid{grid-template-columns:1fr}
  .fl-home-pick-media{height:190px}
}


/* Mobile UX/performance pass — September 2026
   Keep the first viewport focused on the product catalog. Decorative hero
   orbit artwork is useful on larger screens but is intentionally removed on
   small screens so real catalog content appears immediately. */
@media (max-width: 760px){
  .fl-home-hero{
    padding: 10px 0 18px;
  }
  .fl-home-hero .fl-hero-wrap{
    display:block;
  }
  .fl-home-hero .fl-hero-copy{
    text-align:left;
  }
  .fl-home-hero .fl-eyebrow{
    justify-content:flex-start;
  }
  .fl-home-hero .fl-hero-copy h1{
    font-size:clamp(2.45rem,11.5vw,3.5rem);
    margin:12px 0 16px;
  }
  .fl-home-hero .fl-hero-copy>p{
    font-size:.92rem;
    line-height:1.55;
    margin-bottom:17px;
  }
  .fl-home-hero .fl-hero-visual{
    display:none;
  }
  .fl-home-hero .fl-hero-actions{
    margin-top:14px;
    gap:9px;
  }
  .fl-home-hero .fl-trust-row{
    margin-top:15px;
    justify-content:flex-start;
    gap:7px 13px;
    font-size:.72rem;
  }

  /* Discovery is now the first section after the hero. */
  .fl-home-discovery-section{
    padding-top:20px;
    padding-bottom:38px;
  }
  .fl-home-discovery-section .fl-home-subhead{
    margin:0 0 12px;
  }
  .fl-home-subhead h3{
    font-size:1.25rem;
  }
  .fl-home-subhead .fl-eyebrow{
    font-size:.68rem;
  }
  .fl-home-brand-grid,
  .fl-home-picks-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .fl-home-brand-card{
    min-height:72px;
    padding:10px;
    gap:9px;
    border-radius:14px;
  }
  .fl-home-brand-mark{
    width:34px;
    height:34px;
    flex-basis:34px;
    border-radius:10px;
    font-size:.8rem;
  }
  .fl-home-brand-copy strong{
    font-size:.78rem;
  }
  .fl-home-brand-copy small{
    margin-top:2px;
    font-size:.62rem;
  }
  .fl-home-brand-card>i{
    display:none;
  }
  .fl-home-subhead--picks{
    margin-top:28px;
  }
  .fl-home-pick-media{
    height:145px;
  }
  .fl-home-pick-media img{
    padding:12px;
  }
  .fl-home-pick-body{
    padding:10px 11px 12px;
  }
  .fl-home-pick-brand{
    font-size:.6rem;
    margin-bottom:4px;
  }
  .fl-home-pick-body h4{
    font-size:.78rem;
    line-height:1.3;
    min-height:2.6em;
  }
  .fl-home-pick-bottom{
    margin-top:9px;
  }
  .fl-home-pick-bottom strong{
    font-size:.82rem;
  }
  .fl-home-pick-bottom span{
    font-size:.66rem;
  }

  /* Defer lower, text-heavy sections until they approach the viewport. */
  .fl-home-hero + .fl-home-discovery-section,
  .fl-home-discovery-section ~ .fl-quick-strip,
  .fl-home-discovery-section ~ .fl-section,
  .fl-home-discovery-section ~ .fl-how-section,
  .fl-final-cta{
    content-visibility:auto;
    contain-intrinsic-size:600px;
  }

  /* Product catalog: use a compact, aligned mobile hero and let the
     real category/listing UI follow immediately. */
  .fl-product-hero{
    padding:8px 0 18px;
  }
  .fl-product-hero .fl-hero-wrap{
    display:block;
  }
  .fl-product-hero .fl-hero-copy{
    padding:6px 0 0;
    text-align:left;
  }
  .fl-product-hero .fl-eyebrow{
    justify-content:flex-start;
  }
  .fl-product-hero .fl-hero-copy h1{
    font-size:clamp(2.35rem,10.8vw,3.35rem);
    line-height:.98;
    margin:11px 0 15px;
  }
  .fl-product-hero .fl-hero-copy>p{
    font-size:.9rem;
    line-height:1.52;
    margin:0 0 15px;
  }
  .fl-product-hero .fl-search{
    width:100%;
    max-width:none;
  }
  .fl-product-hero .fl-trust-row{
    justify-content:flex-start;
    margin-top:13px;
    gap:7px 13px;
    font-size:.72rem;
  }
  .fl-product-hero .fl-hero-visual{
    display:none;
  }
  .fl-product-hero + .catalog-space{
    padding-top:18px;
  }
}

/* At very narrow widths, keep two compact brand/pick columns only where
   the cards can still breathe. */
@media (max-width:360px){
  .fl-home-brand-grid,
  .fl-home-picks-grid{
    grid-template-columns:1fr;
  }
}


/* User account review: keep this page inside the shared admin shell. */
.admin-user-panel{margin:20px 0;padding:22px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 28px rgba(15,23,42,.05)}
.admin-user-panel h2{margin:0 0 16px;color:#172033;font-size:1.25rem;font-weight:750}
.admin-user-search{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 18px}
.admin-user-search input{min-width:220px;flex:1;padding:11px 13px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#172033}
.admin-user-table-wrap{width:100%;overflow-x:auto}
.admin-user-table{width:100%;min-width:760px;border-collapse:collapse;font-size:.92rem}
.admin-user-table th{padding:12px 14px;background:#f1f5f9;color:#334155;text-align:left;font-weight:700;white-space:nowrap}
.admin-user-table td{padding:13px 14px;border-bottom:1px solid #e2e8f0;color:#334155;vertical-align:middle}
.admin-user-table tbody tr:hover{background:#f8fafc}
.admin-user-pagination{display:flex;gap:12px;align-items:center;justify-content:flex-end;margin-top:14px;color:#64748b;font-size:.9rem}
.admin-user-pagination a{color:#087f73;font-weight:650;text-decoration:none}
.admin-user-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.admin-user-actions button{border:1px solid #cbd5e1;border-radius:9px;padding:8px 12px;background:#f8fafc;color:#334155;font-weight:650}
.admin-user-actions button.primary-action{border-color:transparent;background:#087f73;color:#fff}
.admin-user-actions button:hover{filter:brightness(.96)}
@media(max-width:640px){.admin-user-panel{padding:14px;margin:14px 0}.admin-user-panel h2{font-size:1.1rem}.admin-user-search input{min-width:100%}.admin-user-table{min-width:700px}}


/* Findlyra 6.6.30 mobile viewport correction.
   Bootstrap uses fixed-width .container breakpoints; on narrow/mobile browser
   viewports those widths can leave the page looking offset or clipped.
   Keep the document and public catalog in the actual viewport width. */
@media (max-width: 767.98px) {
  html,
  body {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: clip;
  }

  body,
  main,
  .fl-site-header,
  .site-footer {
    min-width: 0;
    max-width: 100%;
  }

  main {
    width: 100%;
    overflow-x: clip;
  }

  .container,
  .container-sm,
  .container-md {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    min-width: 0;
  }

  .fl-product-hero,
  .catalog-hero,
  .catalog-space {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
  }

  .fl-product-hero .fl-hero-wrap,
  .fl-product-hero .fl-hero-copy,
  .catalog-space .listing-layout,
  .catalog-space .products-area,
  .catalog-space .product-grid,
  .catalog-space .product-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .catalog-space .listing-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .catalog-space .category-strip {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overscroll-behavior-x: contain;
  }

  .catalog-space .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .catalog-space .product-card,
  .catalog-space .product-info,
  .catalog-space .product-card-actions {
    min-width: 0;
    max-width: 100%;
  }

  .catalog-space .product-card-actions {
    flex-wrap: wrap;
  }

  .catalog-space .product-card-actions > * {
    min-width: 0;
    max-width: 100%;
  }

  .catalog-space .product-info h3,
  .catalog-space .product-meta,
  .catalog-space .source-count {
    overflow-wrap: anywhere;
    word-break: normal;
  }
}

@media (max-width: 480px) {
  .catalog-space .product-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

.compare-bar[hidden]{display:none!important}
.fl-compare-add[aria-pressed="true"]{border-color:var(--accent);background:var(--soft-jade);color:var(--accent-strong)}


/* Findlyra compact footer and persistent seller entry point (promo update). */
.fl-site-footer{padding:38px 0 18px}
.fl-footer-grid{grid-template-columns:minmax(190px,1.25fr) repeat(3,minmax(0,1fr));gap:26px}
.fl-footer-links{min-width:0}
.fl-footer-links h6{margin-bottom:10px}
.fl-footer-links a{margin:7px 0;font-size:.82rem;line-height:1.4}
.fl-footer-bottom{margin-top:24px;padding-top:15px;align-items:center}
.fl-footer-bottom a{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.7);text-decoration:none;margin:0;font-size:.78rem}
.fl-footer-bottom a:hover{color:#fff}
.fl-sticky-seller{position:fixed;z-index:999;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:13px;max-width:calc(100vw - 24px);padding:8px 10px 8px 16px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#101827;color:#fff;box-shadow:0 8px 28px rgba(15,23,42,.25);font-size:12px;white-space:nowrap}
.fl-sticky-seller span{color:rgba(255,255,255,.75)}
.fl-sticky-seller a{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:999px;background:#0f766e;color:#fff;text-decoration:none;font-weight:800;font-size:12px}
.fl-sticky-seller a:hover{background:#115e59;color:#fff}
body:has(.fl-sticky-seller) .fl-site-footer{padding-bottom:82px}
@media(max-width:900px){
 .fl-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
 .fl-footer-brand-block{grid-column:1/-1}
 .fl-site-footer{padding-top:30px}
}
@media(max-width:560px){
 .fl-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
 .fl-footer-brand-block{grid-column:1/-1}
 .fl-footer-links a{font-size:.78rem;margin:8px 0}
 .fl-footer-bottom{margin-top:20px;align-items:flex-start;flex-direction:column;gap:8px}
 .fl-sticky-seller{width:max-content;gap:8px;padding:7px 8px 7px 12px;font-size:11px}
 .fl-sticky-seller a{padding:10px 12px;font-size:11px}
 body:has(.fl-sticky-seller) .fl-site-footer{padding-bottom:90px}
}


/* Seller delivery coverage picker — scoped layout fixes (6.6.38). */
.delivery-picker__ui{margin-top:12px;padding:14px;border:1px solid #d9e4f0;border-radius:14px;background:#fbfdff;min-width:0;overflow:hidden}
.delivery-picker__search{display:block;width:100%;max-width:100%;box-sizing:border-box;margin-bottom:12px}
.delivery-picker__states{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:240px;overflow:auto;padding:2px 4px 10px;min-width:0}
.delivery-picker__state,.delivery-picker__city-label{display:flex!important;align-items:center;justify-content:flex-start;gap:10px;min-width:0;width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;line-height:1.35;overflow-wrap:anywhere}
.delivery-picker__state span,.delivery-picker__city-label span{display:block;flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere}
.delivery-picker__state input[type=checkbox],.delivery-picker__city-label input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important;flex:0 0 18px;width:18px!important;height:18px!important;min-width:18px;max-width:18px;margin:0;position:static!important;opacity:1!important;transform:none!important}
.delivery-picker__city-group{margin-top:12px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;min-width:0}
.delivery-picker__city-group h4{margin:0 0 10px;color:#0f766e;font-size:14px}
.delivery-picker__city-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.delivery-picker__city-row{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;padding:7px;border-radius:10px;background:#f7f9fc;min-width:0}
.delivery-picker__city-label{padding:7px 8px;border:0;background:transparent}
.delivery-picker__area,.delivery-picker__custom-city-input{width:100%;min-width:0;box-sizing:border-box}
.delivery-picker__custom-city{display:flex;gap:8px;margin-top:12px;min-width:0}
.delivery-picker__custom-city-add{flex:0 0 auto;border:1px solid #cbd5e1;border-radius:9px;padding:8px 12px;background:#fff;color:#172033}
.delivery-picker__note,.delivery-picker__count,.delivery-picker__empty{margin:10px 0 0;color:#64748b;font-size:13px;line-height:1.5}
.delivery-picker__count.is-limit{color:#b42318;font-weight:700}
.delivery-picker__legacy{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.delivery-picker__legacy-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 9px;border-radius:999px;background:#eef2f7;font-size:12px}
.delivery-picker__legacy-chip button{border:0;background:transparent;color:#b42318;text-decoration:underline}
@media(max-width:800px){.delivery-picker__states{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.delivery-picker__ui{padding:10px}.delivery-picker__states,.delivery-picker__city-list{grid-template-columns:minmax(0,1fr);max-height:220px}.delivery-picker__city-group{padding:9px}.delivery-picker__custom-city{flex-direction:column}.delivery-picker__custom-city-add{width:100%}}

/* Stage 11: admin sign-out lives inside the admin navigation, including mobile menu. */
.fl-admin-signout{display:flex;align-items:stretch;margin:4px 0 0;padding-top:8px;border-top:1px solid var(--line)}
.fl-admin-signout button{display:inline-flex;align-items:center;gap:10px;border:0;border-radius:10px;background:transparent;color:var(--ink);cursor:pointer;font:inherit;font-weight:700;padding:10px 14px}
.fl-admin-signout button:hover{color:var(--accent);background:var(--soft-jade)}
@media (max-width: 768px){
  .fl-admin-signout{width:100%;margin-top:8px;padding-top:10px}
  .fl-admin-signout button{width:100%;text-align:left;justify-content:flex-start;padding:13px 14px}
}


/* Homepage quick discovery: compact, responsive and dependency-free. */
.fl-home-quick-discovery { padding-top: clamp(28px, 4vw, 48px); }
.fl-home-quick-discovery .fl-home-subhead p { margin: 7px 0 0; color: var(--muted, #64748b); }
.fl-trending-category-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; margin-top:20px; }
.fl-trending-category-card { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding:18px; border:1px solid var(--border, #e5e7eb); border-radius:18px; background:var(--surface, #fff); color:inherit; text-decoration:none; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.fl-trending-category-card:hover { transform:translateY(-3px); border-color:var(--primary, #635bdb); box-shadow:0 10px 28px rgba(15,23,42,.07); }
.fl-trending-category-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:rgba(99,91,219,.10); color:var(--primary, #635bdb); font-size:18px; }
.fl-trending-category-card strong { overflow-wrap:anywhere; font-size:15px; }
.fl-trending-category-card > span:last-child { margin-top:auto; color:var(--primary, #635bdb); font-size:12px; font-weight:700; }
.fl-home-location-block { margin-top:clamp(36px,5vw,58px); }
.fl-home-location-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:18px; }
.fl-home-location-card { min-width:0; display:flex; align-items:center; gap:12px; padding:14px 16px; border:1px solid var(--border, #e5e7eb); border-radius:15px; color:inherit; text-decoration:none; background:var(--surface, #fff); }
.fl-home-location-card > i:first-child { color:var(--primary, #635bdb); font-size:17px; }
.fl-home-location-card > i:last-child { margin-left:auto; color:var(--muted, #64748b); font-size:12px; }
.fl-home-location-card span { display:flex; min-width:0; flex-direction:column; gap:3px; }
.fl-home-location-card strong { font-size:14px; }
.fl-home-location-card small { color:var(--muted, #64748b); font-size:12px; }
.fl-home-audience-section { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; padding-top:8px; }
.fl-home-audience-card { display:flex; flex-direction:column; align-items:flex-start; gap:10px; min-width:0; padding:clamp(22px,3vw,34px); border:1px solid var(--border, #e5e7eb); border-radius:22px; text-decoration:none; color:inherit; background:var(--surface, #fff); }
.fl-home-audience-seller { background:linear-gradient(135deg,rgba(99,91,219,.10),rgba(99,91,219,.025)); }
.fl-home-audience-partner { background:linear-gradient(135deg,rgba(14,165,164,.10),rgba(14,165,164,.025)); }
.fl-home-audience-card .fl-audience-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:15px; background:rgba(255,255,255,.85); color:var(--primary, #635bdb); font-size:20px; }
.fl-home-audience-card strong { font-size:clamp(19px,2.2vw,25px); line-height:1.2; }
.fl-home-audience-card > span:not(.fl-audience-icon):not(.fl-eyebrow):not(.fl-audience-link) { color:var(--muted, #64748b); line-height:1.55; }
.fl-home-audience-card .fl-audience-link { margin-top:8px; color:var(--primary, #635bdb); font-weight:700; }
@media (max-width: 900px) {
  .fl-trending-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .fl-home-location-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .fl-trending-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .fl-trending-category-card { padding:14px; border-radius:15px; }
  .fl-home-location-grid { grid-template-columns:1fr; gap:9px; }
  .fl-home-location-card { padding:12px 14px; }
  .fl-home-audience-section { grid-template-columns:1fr; gap:12px; }
}
@media (prefers-reduced-motion: reduce) {
  .fl-trending-category-card { transition:none; }
  .fl-trending-category-card:hover { transform:none; }
}


/* Findlyra homepage visual consistency refinement — brand jade/teal palette. */
.fl-home-quick-discovery { padding-top: clamp(22px, 2.8vw, 34px); }
.fl-home-quick-discovery .fl-eyebrow,
.fl-home-quick-discovery .fl-eyebrow i { color:#087f72; }
.fl-home-quick-discovery .fl-text-link,
.fl-home-quick-discovery .fl-trending-category-card > span:last-child { color:#087f72; }
.fl-trending-category-grid { gap:12px; margin-top:16px; }
.fl-trending-category-card {
  gap:11px; border-color:#d6ebe6;
  background:linear-gradient(145deg,#f0faf7 0%,#e7f5f0 100%);
}
.fl-trending-category-card:hover {
  border-color:#72b9aa; box-shadow:0 9px 22px rgba(8,127,114,.10);
}
.fl-trending-category-icon {
  width:100%; min-height:88px; border-radius:13px;
  background:linear-gradient(135deg,#d8f0e8 0%,#c5e8dd 100%);
  color:#087f72; font-size:34px;
}
.fl-trending-category-card strong { color:#142b35; }
.fl-home-location-block { margin-top:clamp(28px,3.2vw,38px); }
.fl-home-location-card {
  min-height:78px; gap:12px; border-color:#d6ebe6;
  background:linear-gradient(110deg,#f3fbf8 0%,#eaf6f1 100%);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.fl-home-location-card:hover {
  border-color:#78bdae; box-shadow:0 7px 20px rgba(8,127,114,.09); transform:translateY(-2px);
}
.fl-home-location-card .fl-location-pin {
  display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px;
  border-radius:11px; background:#d6eee6; color:#087f72; font-size:18px;
}
.fl-home-location-card .fl-location-copy { display:flex; min-width:0; flex:1; flex-direction:column; gap:3px; }
.fl-home-location-card .fl-location-copy strong { color:#142b35; }
.fl-home-location-card .fl-location-copy small { color:#55736e; }
.fl-home-location-card .fl-location-mini-map {
  position:relative; display:grid; place-items:center; flex:0 0 42px;
  width:42px; height:38px; margin-left:auto; border:1px solid #c7e5dc;
  border-radius:10px; background:rgba(255,255,255,.72); color:#8bbeb1; font-size:25px;
}
.fl-home-location-card .fl-location-mini-map .fa-location-dot {
  position:absolute; top:5px; right:7px; color:#087f72; font-size:12px;
}
.fl-home-audience-section { padding-bottom:0; }
.fl-home-audience-section + .fl-home-discovery-section { padding-top:clamp(12px,1.6vw,18px); margin-top:0; }
.fl-home-discovery-section { margin-top:0; }
@media(max-width:560px) {
  .fl-trending-category-icon { min-height:72px; font-size:29px; }
  .fl-home-location-card { min-height:72px; }
}
@media(prefers-reduced-motion:reduce) {
  .fl-home-location-card { transition:none; }
  .fl-home-location-card:hover { transform:none; }
}


/* Findlyra final homepage refinement: clean white cards, horizontal icon-and-copy layout. */
.fl-trending-category-card {
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  grid-template-rows:auto auto;
  grid-template-areas:"icon title" "icon action";
  align-items:center;
  column-gap:13px;
  row-gap:5px;
  padding:17px 16px;
  min-height:86px;
  background:#fff !important;
  border-color:#e3e9e8;
  box-shadow:none;
}
.fl-trending-category-card:hover {
  background:#fff !important;
  border-color:#9bcfc2;
  box-shadow:0 6px 18px rgba(8,127,114,.07);
}
.fl-trending-category-icon {
  grid-area:icon;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  min-height:42px;
  border-radius:11px;
  background:transparent !important;
  color:#087f72;
  font-size:25px;
}
.fl-trending-category-card strong {
  grid-area:title;
  align-self:end;
  color:#142b35;
  line-height:1.3;
}
.fl-trending-category-card > span:last-child {
  grid-area:action;
  align-self:start;
  margin-top:0;
  color:#087f72;
}
.fl-home-location-card {
  min-height:72px;
  padding:12px 15px;
  background:#fff !important;
  border-color:#e3e9e8;
  box-shadow:none;
}
.fl-home-location-card:hover {
  background:#fff !important;
  border-color:#9bcfc2;
  box-shadow:0 6px 18px rgba(8,127,114,.07);
}
.fl-home-location-card .fl-location-pin {
  background:transparent !important;
  color:#087f72;
  font-size:21px;
}
.fl-home-location-card .fl-location-copy strong { color:#142b35; }
.fl-home-location-card .fl-location-copy small { color:#647b78; }
.fl-home-location-card .fl-location-mini-map {
  border-color:#dcebe7;
  background:#fff;
  color:#087f72;
}
.fl-home-location-card .fl-location-mini-map .fa-location-dot { color:#087f72; }
@media(max-width:560px) {
  .fl-trending-category-card {
    grid-template-columns:36px minmax(0,1fr);
    column-gap:9px;
    min-height:78px;
    padding:12px 11px;
  }
  .fl-trending-category-icon { width:34px; height:34px; min-height:34px; font-size:21px; }
  .fl-home-location-card { min-height:66px; }
}
