/* Public landing palette only; this stylesheet is also loaded by Settings. */
body.landing-theme {
  --landing-bg: #f5f8fc;
  --landing-banner: #dce9fa;
  --landing-card: #fff;
  --landing-info: #edf3fc;
  --landing-text: #17324d;
  --landing-muted: #607086;
  --landing-primary: #286cc4;
  --landing-primary-hover: #205ba6;
  --landing-whatsapp: #37816a;
  --landing-whatsapp-hover: #2d6d59;
  --landing-border: #dce5ef;
  --landing-radius: 12px;
  --landing-shadow: 0 2px 8px rgba(23,50,77,.045);
  background: var(--landing-bg);
  color: var(--landing-text);
}
body.landing-theme .landing-page { --navy: var(--landing-text); --ink: var(--landing-text); --muted: var(--landing-muted); --line: var(--landing-border); --gold: var(--landing-primary); }
body.landing-theme .site-header { background: var(--landing-card); border-bottom-color: var(--landing-border); box-shadow: 0 1px 4px rgba(23,50,77,.035); }
body.landing-theme .site-header .nav-desktop a, body.landing-theme .site-header .nav-mobile a { color: var(--landing-muted); }
body.landing-theme .site-header .nav-desktop a:hover, body.landing-theme .site-header .nav-mobile a:hover { color: var(--landing-primary-hover); background: var(--landing-info); }
body.landing-theme .site-header .header-tools .panel-link { color: var(--landing-text); background: var(--landing-card); border-color: var(--landing-border); }
body.landing-theme .landing-page .landing-brochures { background: var(--landing-banner); border-color: var(--landing-border); border-radius: var(--landing-radius); box-shadow: var(--landing-shadow); }
body.landing-theme .landing-page .landing-product, body.landing-theme .landing-page .landing-testimonial { background: var(--landing-card); border-color: var(--landing-border); border-radius: var(--landing-radius); box-shadow: var(--landing-shadow); }
body.landing-theme .landing-page .landing-product-body { background: var(--landing-info); }
body.landing-theme .landing-page .landing-product-photo { background: var(--landing-card); }
body.landing-theme .landing-page .landing-product h3 { font-weight: 600; }
body.landing-theme .landing-page .landing-product-price { font-weight: 600; }
body.landing-theme .landing-page .landing-testimonial footer { font-weight: 500; }
body.landing-theme .landing-page .btn { color: #fff; background: var(--landing-primary); border-color: var(--landing-primary); box-shadow: none; }
body.landing-theme .landing-page .btn:hover { background: var(--landing-primary-hover); border-color: var(--landing-primary-hover); }
body.landing-theme .landing-page .landing-product .btn { background: var(--landing-whatsapp); border-color: var(--landing-whatsapp); }
body.landing-theme .landing-page .landing-product .btn:hover { background: var(--landing-whatsapp-hover); border-color: var(--landing-whatsapp-hover); }
body.landing-theme .landing-page .landing-catalog-tabs button { color: var(--landing-text); background: var(--landing-info); border-color: var(--landing-border); }
body.landing-theme .landing-page .landing-catalog-tabs button:hover { background: var(--landing-banner); }
body.landing-theme .landing-page .landing-catalog-tabs button[aria-selected="true"] { color: #fff; background: var(--landing-primary); border-color: var(--landing-primary); }
body.landing-theme .landing-page .landing-catalog-tabs button[aria-selected="true"]:hover { background: var(--landing-primary-hover); border-color: var(--landing-primary-hover); }
body.landing-theme .landing-page .brochure-dots button[aria-current="true"]::after { background: var(--landing-primary); }
body.landing-theme .landing-page a:not(.btn):hover { color: var(--landing-primary-hover); }
body.landing-theme .landing-page :is(a, button):focus-visible, body.landing-theme .site-header :is(a, button):focus-visible { outline: 2px solid var(--landing-primary); outline-offset: 3px; }
.landing-page { padding-block: 1rem 2rem; }
.landing-page > section + section { margin-top: 1.5rem; }
.landing-brochures { position: relative; border: 1px solid var(--line); border-radius: 1rem; background: #eef4fc; overflow: hidden; }
.brochure-stage { width: 100%; padding: 0; overflow: hidden; touch-action: pan-y pinch-zoom; user-select: none; transition: height 500ms ease-in-out; }
.brochure-track { display: flex; flex-direction: row; align-items: flex-start; width: 100%; transition: transform 500ms ease-in-out; will-change: transform; }
.brochure-slide { flex: 0 0 100%; min-width: 0; }
.brochure-slide a, .brochure-slide .brochure-zoom { display: block; width: 100%; padding: 0; border: 0; background: transparent; }
.brochure-slide .brochure-zoom { cursor: zoom-in; }
.brochure-stage.is-dragging, .brochure-stage.is-dragging * { cursor: grabbing; }
.brochure-lightbox { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 48px 16px 16px; background: rgba(0,0,0,.88); }
.brochure-lightbox img { display: block; width: auto; height: auto; max-width: 100%; max-height: calc(100dvh - 64px); object-fit: contain; }
.brochure-lightbox-close { position: absolute; top: 8px; right: 12px; width: 38px; height: 38px; padding: 0; border: 1px solid #ffffff80; border-radius: 50%; color: #fff; background: #182535; font-size: 28px; line-height: 1; cursor: pointer; }
.brochure-slide img { display: block; width: 100%; height: auto; object-fit: contain; margin: 0; }
.brochure-controls { position: absolute; bottom: 4px; left: 50%; transform: translateX(-50%); display: flex; justify-content: center; max-width: 100%; padding: 0; background: transparent; }
.brochure-dots { display: flex; flex-wrap: wrap; justify-content: center; }
.brochure-dots button { position: relative; width: 28px; height: 28px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.brochure-dots button::after { content: ""; position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #b4c6de; top: 11px; left: 11px; }
.brochure-dots button[aria-current="true"]::after { background: #007bea; }
.landing-section-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .75rem; margin-bottom: .85rem; }
.landing-section-head h1, .landing-section-head h2 { margin: 0; font-size: 1.4rem; line-height: 1.25; letter-spacing: -.025em; }
.landing-section-head p { margin: .35rem 0 0; }
.landing-section-head .actions { margin: 0; gap: .75rem; }
.landing-testimonials { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.landing-testimonial { margin: 0; padding: .75rem; background: #fff; border: 1px solid var(--line); border-radius: .85rem; min-width: 0; display: grid; align-items: center; }
.landing-testimonial.has-photo { grid-template-columns: 100px minmax(0, 1fr); gap: .75rem; }
.landing-testimonial-body { min-width: 0; overflow-wrap: anywhere; }
.landing-testimonial-photo { position: relative; display: block; width: 100px; height: 120px; padding: 0; border: 0; border-radius: .5rem; overflow: hidden; background: #eef4fc; cursor: pointer; }
.landing-testimonial-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.landing-testimonial-count { position: absolute; right: .3rem; bottom: .3rem; padding: .15rem .4rem; border-radius: 1rem; background: #0d2137dd; color: #fff; font-size: .65rem; font-weight: 600; line-height: 1.4; }
.landing-testimonial p { margin: 0 0 .65rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.landing-testimonial footer { color: var(--muted); font-size: .85rem; font-weight: 600; }
.landing-brand-links { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1rem; }
.landing-brand-links a { padding: .4rem .75rem; background: #eaf3ff; border: 1px solid #d6e6fb; border-radius: 2rem; font-size: .8rem; }
.landing-products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem; }
.landing-products-panel[hidden] { display: none; }
.landing-catalog-toolbar { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 8px; margin-bottom: 1rem; }
.landing-catalog-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; width: 398px; max-width: 100%; }
.landing-catalog-tabs button { border: 1px solid #d6e6fb; background: #eaf3ff; border-radius: .65rem; padding: 0 10px; color: var(--ink); cursor: pointer; font: inherit; font-size: 13px; line-height: 18px; min-width: 0; min-height: 38px; height: 100%; }
.landing-catalog-toolbar .landing-catalog-sim { margin-left: auto; min-height: 38px; padding: 9px 16px; font-size: 13px; line-height: 18px; }
.landing-catalog-tabs button[aria-selected="true"] { color: #fff; background: #007bea; border-color: #007bea; }
.landing-featured-list { padding-left: 1.5rem; }
.landing-featured-list li { margin-block: .65rem; overflow-wrap: anywhere; }
.landing-featured-list .actions { margin-top: .35rem; }
.landing-product { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: .85rem; background: #fff; min-width: 0; }
.landing-product-photo { display: block; flex: 0 0 auto; padding: 0; margin: 0; background: #fff; }
.landing-product-photo img { display: block; width: 100%; height: auto; margin: 0; object-fit: contain; }
.landing-product-placeholder { display: grid; place-items: center; min-height: 120px; color: var(--muted); font-size: .85rem; }
.landing-product-body { padding: .85rem; flex: 1; display: flex; flex-direction: column; gap: .55rem; border-top: 1px solid var(--line); }
.landing-product h3 { font-size: .95rem; line-height: 1.45; margin: 0; overflow-wrap: anywhere; }
.landing-product-brand { color: var(--muted); font-size: .75rem; margin: 0; }
.landing-product-price { margin: auto 0 0; padding-top: .4rem; font-weight: 700; font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.landing-product .btn { margin: 0 .85rem .85rem; font-size: .8rem; min-height: 40px; background: #18875b; }
.brochure-settings { margin-top: 1.25rem; padding: 1.25rem; }
.brochure-settings h2 { margin-top: 0; }
.brochure-fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.brochure-editor-list { display: grid; gap: 1rem; margin-block: 1rem; }
.brochure-editor { display: grid; grid-template-columns: minmax(120px, 220px) minmax(0, 1fr); gap: 1rem; padding: 1rem; border: 1px solid var(--line); border-radius: .85rem; }
.brochure-editor > img { width: 100%; height: 160px; object-fit: contain; background: #f2f6fb; border-radius: .5rem; }
.brochure-editor-fields { display: grid; gap: .75rem; min-width: 0; }
.brochure-settings .actions { flex-wrap: wrap; }
.landing-admin-page { max-width: 1200px; }
.landing-admin-page .brochure-settings { margin-top: 1rem; }
.landing-admin-page .brochure-settings .actions > .field { min-width: 0; max-width: 100%; }
.landing-admin-page [data-option="seconds"], .landing-admin-page [data-display="catalog.initial"], .landing-admin-page [data-display="testimonials.count"] { max-width: 220px; }
.landing-admin-page [data-feature-choice] { width: 100%; max-width: 100%; }
.landing-admin-page .landing-catalog-editor { margin-block: 1.25rem; min-width: 0; }
.landing-admin-page .landing-catalog-editor h3,
.landing-admin-page .landing-catalog-editor h4 { font-size: 16px; font-weight: 600; line-height: 1.5; margin: 0 0 10px; }
.landing-admin-page .landing-catalog-editor .field,
.landing-admin-page .landing-catalog-editor .check,
.landing-admin-page .landing-catalog-editor .btn { font-size: 14px; }
.landing-admin-page .landing-catalog-editor .muted { font-size: 13px; line-height: 1.55; margin: 0 0 12px; }
.landing-admin-page .landing-featured-group { margin-top: 20px; min-width: 0; }
.landing-admin-page .landing-featured-picker { display: grid; grid-template-columns: minmax(0, 1fr) 148px; align-items: end; gap: 10px; }
.landing-admin-page .landing-featured-picker .field { margin: 0; gap: 8px; }
.landing-admin-page .landing-featured-picker select,
.landing-admin-page .landing-featured-picker .btn { box-sizing: border-box; height: 42px; min-height: 42px; max-height: 42px; margin: 0; font-size: 14px; }
.landing-admin-page .landing-featured-picker select { line-height: normal; }
.landing-admin-page .landing-featured-picker .btn { display: inline-flex; align-items: center; justify-content: center; width: 100%; padding: 0 12px; line-height: 1.25; white-space: nowrap; }
.landing-admin-page .landing-featured-list { display: grid; gap: 8px; margin: 0 0 14px; padding-inline-start: 24px; font-size: 14px; line-height: 1.5; }
.landing-admin-page .landing-featured-list:empty { display: none; }
.landing-admin-page .landing-featured-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.landing-admin-page .landing-featured-name { min-width: 0; overflow-wrap: anywhere; }
.landing-admin-page .landing-featured-item .actions { margin: 0; gap: 8px; }
.landing-admin-page .landing-featured-item .btn { min-height: 36px; padding: 0 12px; line-height: 1.25; }
.landing-admin-page .landing-catalog-editor .landing-catalog-note { margin: 16px 0 0; }
@media (max-width: 560px) {
  .landing-admin-page .landing-featured-picker,
  .landing-admin-page .landing-featured-item { grid-template-columns: minmax(0, 1fr); }
  .landing-admin-page .landing-featured-item .actions { justify-content: flex-start; }
}
@media (min-width: 1280px) { .landing-products { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .landing-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
  .landing-testimonials { grid-template-columns: 1fr; }
  .landing-page { padding-top: .65rem; }
  .landing-page > section + section { margin-top: 1rem; }
  .brochure-editor { grid-template-columns: 1fr; }
  .landing-product-body { padding: .65rem; }
  .landing-product .btn { margin: 0 .65rem .65rem; padding-inline: .4rem; }
}

/* Product CTA: keep the information area continuous through the card footer. */
body.landing-theme .landing-page .landing-product { background: var(--landing-info); }
.landing-page .landing-product .landing-product-body { padding: 14px 14px 0; }
.landing-page .landing-product > .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
  height: 40px;
  min-height: 40px;
  margin: 12px 14px 14px;
  padding: 0;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  line-height: 18px;
  text-align: center;
  white-space: normal;
}
