/*
 * Frosty Peaks - homepage section design.
 *
 * One stylesheet, two consumers:
 *   1. the [fpb_section name="..."] shortcode markup, and
 *   2. the matching Elementor section templates in the Saved Templates library.
 *
 * Every value is the approved design. The selector shapes are the only change:
 * they are anchored on .fpb-sec so each rule outranks Elementor's own
 * single-class container/widget rules (which are all 0,1,0 or 0,2,0).
 */

/* ------------------------------------------------------------------ shell */

.fpb-sec.fpb-sec{padding:clamp(46px,6.5vw,84px) clamp(20px,5vw,48px);color:var(--trail-ink,#26312C)}
.fpb-sec.fpb-sec--cream{background:var(--trail-cream,#F7F4EC)}
.fpb-sec.fpb-sec--sage{background:var(--trail-sage,#E7E8D9)}
.fpb-sec.fpb-sec--white{background:#fff}
.fpb-sec .fpb-sec__in{max-width:1100px;margin:0 auto}
.fpb-sec .fpb-sec__eyebrow{margin:0 0 2px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--trail-clay,#C8754D)}
.fpb-sec .fpb-sec__h2{margin:.28em 0 .45em;font-size:clamp(1.45rem,3.1vw,2.3rem);line-height:1.15;color:var(--trail-forest,#203D32)}
.fpb-sec .fpb-sec__lead{margin:0 0 1.4em;max-width:64ch;line-height:1.7;color:var(--trail-muted,#6D766F)}
.elementor .fpb-sec img,
.fpb-sec img{display:block;width:100%;height:100%;object-fit:cover}

/* ------------------------------------------------------------------ media */

.fpb-sec .fpb-s-media{overflow:hidden;border-radius:14px;background:#e8eae2;height:100%}
.fpb-sec .fpb-s-media--tall{aspect-ratio:4/5}
.fpb-sec .fpb-s-media--wide{aspect-ratio:16/9;margin:0 0 16px;border-radius:12px}

/* ----------------------------------------------------------------- layout */

.fpb-sec .fpb-sec__split{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(24px,4vw,54px);align-items:center}
.fpb-sec .fpb-sec__strip{margin-top:18px}
.fpb-sec .fpb-s-grid{display:grid;gap:14px}
.fpb-sec .fpb-s-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fpb-sec .fpb-s-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}

/* ----------------------------------------------------------- spec strip */

.fpb-sec .fpb-specs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:20px;border:1px solid #dfe7e2;border-radius:14px;background:#fff;overflow:hidden}
.fpb-sec .fpb-specs__i{padding:16px 18px;border-right:1px solid #eef1ec}
.fpb-sec .fpb-specs__i:last-child{border-right:0}
.fpb-sec .fpb-specs__k{display:block;font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:var(--trail-muted,#6D766F)}
.fpb-sec .fpb-specs__v{display:block;margin-top:5px;font-size:1.02rem;font-weight:800;color:var(--trail-forest,#203D32)}
.fpb-sec .fpb-specs__s{display:block;margin-top:2px;font-size:11.5px;color:var(--trail-muted,#6D766F)}

/* ----------------------------------------------------------------- lists */

.fpb-sec .fpb-ticks{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.fpb-sec .fpb-ticks li{position:relative;padding-left:22px;line-height:1.5}
.fpb-sec .fpb-ticks li:before{content:"";position:absolute;left:0;top:.52em;width:8px;height:8px;border-radius:50%;background:var(--trail-clay,#C8754D)}
.fpb-sec .fpb-route{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px}
.fpb-sec .fpb-route li{display:grid;grid-template-columns:110px 1fr;gap:16px;background:#fff;border:1px solid #dfe7e2;border-radius:12px;padding:14px 18px}
.fpb-sec .fpb-route__d{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--trail-clay,#C8754D)}
.fpb-sec .fpb-route__t{display:block;font-weight:800;color:var(--trail-forest,#203D32)}
.fpb-sec .fpb-route__s{display:block;margin-top:2px;font-size:.9rem;color:var(--trail-muted,#6D766F)}

/* ----------------------------------------------------------------- cards */

.fpb-sec .fpb-s-card{background:#fff;border:1px solid #dfe7e2;border-radius:14px;padding:20px;box-shadow:0 8px 24px rgba(20,45,35,.05)}
.fpb-sec .fpb-s-card h3,
.fpb-sec .fpb-s-card h3.elementor-heading-title{margin:.2em 0 .5em;font-size:1.05rem;color:var(--trail-forest,#203D32)}
.fpb-sec .fpb-s-card p{margin:0 0 10px;color:var(--trail-muted,#6D766F);line-height:1.6;font-size:.94rem}
.fpb-sec .fpb-s-card p:last-child{margin-bottom:0}
.fpb-sec .fpb-step__n{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--trail-forest,#203D32);color:#fff;font-weight:800;font-size:.85rem;margin-bottom:12px}
.fpb-sec .fpb-s-note{margin:18px 0 0;padding:14px 16px;border-left:3px solid var(--trail-clay,#C8754D);background:rgba(200,117,77,.07);border-radius:0 10px 10px 0;font-size:.92rem;line-height:1.6;color:#5f6a63}

/* ------------------------------------------------------------- cta band */

.fpb-sec.fpb-sec--cta{position:relative;background-color:var(--trail-forest,#203D32);background-size:cover;background-position:center;color:#fff}
.fpb-sec.fpb-sec--cta:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,45,35,.94),rgba(20,45,35,.62))}
.fpb-sec.fpb-sec--cta .fpb-sec__in{position:relative}
.fpb-sec.fpb-sec--cta .fpb-sec__h2{color:#fff}
.fpb-sec.fpb-sec--cta .fpb-sec__lead{color:rgba(255,255,255,.82)}
.fpb-sec .fpb-sec__cta{margin-top:22px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.fpb-sec .fpb-sec__pill{font-size:.82rem;font-weight:700;letter-spacing:.02em;color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:9px 16px}
.fpb-sec .fpb-s-btn{display:inline-block;background:#fff;color:var(--trail-forest,#203D32);border-radius:999px;padding:14px 28px;font-weight:800;text-decoration:none;transition:background .2s,color .2s}
.fpb-sec .fpb-s-btn:hover{background:var(--trail-clay,#C8754D);color:#fff}

/* ------------------------------------------------------------------- faq */

.fpb-sec .fpb-faq{background:#fff;border:1px solid #dfe7e2;border-radius:12px;margin-bottom:10px;overflow:hidden}
.fpb-sec .fpb-faq summary{cursor:pointer;padding:15px 18px;font-weight:700;color:var(--trail-forest,#203D32);list-style:none}
.fpb-sec .fpb-faq summary::-webkit-details-marker{display:none}
.fpb-sec .fpb-faq summary:after{content:"+";float:right;font-weight:800;color:var(--trail-clay,#C8754D)}
.fpb-sec .fpb-faq[open] summary:after{content:"\2013"}
.fpb-sec .fpb-faq__a{padding:0 18px 16px;color:var(--trail-muted,#6D766F);line-height:1.65;font-size:.94rem}

/* ------------------------------------- Elementor widget wrappers (templates) */
/*
 * Everything below exists only because a widget paints an extra wrapper around
 * markup that the shortcode prints directly. It is scoped to Elementor's own
 * classes or to a wrapper class the template sets, so the shortcode output is
 * unaffected. The templates keep each original element and its .fpb-* class
 * inside the widget, so no other rule needs to change.
 */

/* Elementor containers ship with 10px padding and a 20px gap. Zero both so the
   approved spacing above stays exact. The section itself is not a descendant of
   .fpb-sec, so its own clamp() padding is untouched. */
.fpb-sec .e-con,
.fpb-sec .e-con > .e-con-inner{--padding-top:0;--padding-right:0;--padding-bottom:0;--padding-left:0;--gap:0px;--row-gap:0px;--column-gap:0px}

/* A Heading widget prints its own <h2>/<h3>, so .fpb-sec__h2 hands its type
   metrics down to that element. */
.fpb-sec .elementor-widget-heading.fpb-sec__h2 .elementor-heading-title{margin:0;font-size:inherit;line-height:inherit;color:inherit;letter-spacing:inherit}

/* Card headings print as a bare <h3>; stop Elementor's
   .elementor-heading-title{line-height:1} from tightening them. */
.fpb-sec .fpb-s-card h3.elementor-heading-title{line-height:inherit}

/* Image widget chain, so .fpb-s-media keeps its aspect-ratio and object-fit. */
.fpb-sec .fpb-s-media > .elementor-widget-container,
.fpb-sec .fpb-s-media .elementor-image{display:block;height:100%}

/* Button widget, so the approved .fpb-s-btn look survives. */
.fpb-sec .fpb-cta-btn .elementor-button{display:inline-block;background:#fff;color:var(--trail-forest,#203D32);border:0;border-radius:999px;padding:14px 28px;font-weight:800;font-size:inherit;line-height:inherit;text-decoration:none;transition:background .2s,color .2s}
.fpb-sec .fpb-cta-btn .elementor-button:hover{background:var(--trail-clay,#C8754D);color:#fff}

/* ----------------------------------------------------------- breakpoints */

@media(max-width:900px){.fpb-sec .fpb-sec__split{grid-template-columns:1fr}.fpb-sec .fpb-s-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.fpb-sec .fpb-specs{grid-template-columns:repeat(2,minmax(0,1fr))}.fpb-sec .fpb-specs__i{border-bottom:1px solid #eef1ec}.fpb-sec .fpb-specs__i:nth-child(2n){border-right:0}}
@media(max-width:576px){.fpb-sec .fpb-s-grid--2,.fpb-sec .fpb-s-grid--3{grid-template-columns:1fr}.fpb-sec .fpb-route li{grid-template-columns:1fr;gap:6px}.fpb-sec .fpb-specs{grid-template-columns:1fr}.fpb-sec .fpb-specs__i{border-right:0}}
