/* Option 2: full-width white gallery, compact summary and editorial details. */
.single-sm_product { --product-ink:#003649; --product-muted:#5b737c; --product-line:#d6e3e7; --product-soft:#edf4f5; }
.product-page, .package-configure, .product-page-footer { font:var(--sm-font-body-weight, 400) var(--sm-font-product-body, 14px)/var(--sm-font-product-line, 1.65) var(--sm-product-font, "Manrope", Arial, sans-serif); color:var(--product-ink); background:#fff; }
.single-sm_product .container { width:calc(100% - 64px); max-width:none; }
.single-sm_product .site-header__main { min-height:74px; }
.single-sm_product .site-logo img, .single-sm_product .custom-logo { width:125px; max-height:46px; }
.product-page *, .package-configure * { box-sizing:border-box; }
.product-page h1, .product-page h2, .product-page h3, .package-configure h1, .package-configure h2 { font-family:var(--sm-product-heading-font, inherit); color:inherit; }
.product-page .eyebrow, .package-configure .eyebrow { font:700 calc(var(--sm-font-product-body, 14px) * 0.7142857142857143)/1.65 var(--sm-product-font, "Manrope", Arial, sans-serif); letter-spacing:2px; color:var(--product-muted); margin:0 0 7px; }
.package-gallery { background:#fff; padding:20px 0 17px; }
.package-gallery__top { display:flex; justify-content:space-between; align-items:center; gap:20px; color:var(--product-muted); font-size:calc(var(--sm-font-product-body, 14px) * 0.7857142857142857); letter-spacing:.2px; }
.package-gallery__top nav { display:flex; flex-wrap:wrap; gap:7px; }
.package-gallery__top a { color:inherit; text-decoration:none; }
.package-gallery__top > a { text-transform:uppercase; font-size:calc(var(--sm-font-product-body, 14px) * 0.7142857142857143); white-space:nowrap; }
.package-gallery__stage { position:relative; height:min(640px, calc(46.6667vw + 40px)); overflow:hidden; background:#fff; touch-action:pan-y; }
.package-gallery__slide { position:absolute; inset:0; margin:0; overflow:hidden; }
.package-gallery__slide[hidden] { display:none; }
.package-gallery__slide > img { position:absolute; inset:auto; left:50%; top:50%; width:70%; height:calc(100% - 40px); max-height:600px; object-fit:contain; transform:translate(-50%, -50%); }
.package-gallery__slide > img.is-fitted { inset:auto; left:50%; top:50%; max-width:none; max-height:none; height:auto; object-fit:initial; }
.package-gallery__toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.package-gallery__navigation { display:flex; flex-wrap:wrap; align-items:center; gap:20px; flex-shrink:0; font-size:calc(var(--sm-font-product-body, 14px) * 0.7857142857142857); font-variant-numeric:tabular-nums; }
.package-gallery__counter { display:flex; align-items:center; gap:12px; color:var(--product-muted); font-weight:700; letter-spacing:.1em; }
.package-gallery__counter i { width:48px; height:1px; background:var(--product-line); }
.package-gallery__controls { display:flex; align-items:center; gap:7px; }
.package-gallery__controls > button { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; padding:0; border:1px solid var(--product-line); border-radius:50%; background:var(--product-ink); color:#fff; cursor:pointer; transition:background 200ms ease,color 200ms ease,box-shadow 200ms ease; }
.package-gallery__controls > button:hover { background:#fff; color:var(--product-ink); box-shadow:0 3px 12px #00364a14; }
.package-gallery__navigation button:focus-visible,.package-gallery__thumbnails button:focus-visible { outline:2px solid #00899a; outline-offset:3px; }
.package-gallery__dots { display:flex; flex-wrap:wrap; justify-content:center; gap:0; max-width:288px; }
.package-gallery__dots button { display:grid; place-items:center; width:24px; height:28px; padding:0; border:0; background:transparent; cursor:pointer; }
.package-gallery__dots button::before { content:''; width:7px; height:7px; border:1px solid var(--product-muted); border-radius:50%; transition:background 200ms ease,transform 200ms ease; }
.package-gallery__dots button[aria-current="true"]::before { background:var(--product-ink); border-color:var(--product-ink); transform:scale(1.15); }
.package-gallery__controls .package-gallery__toggle { width:auto; min-width:70px; padding:0 14px; border-radius:24px; font:700 calc(var(--sm-font-product-body, 14px) * 0.7142857142857143) var(--sans); letter-spacing:.08em; text-transform:uppercase; }
.package-gallery__thumbnails { display:flex; gap:8px; min-width:0; max-width:65%; overflow-x:auto; padding:5px; scrollbar-width:none; -ms-overflow-style:none; scroll-snap-type:x proximity; }
.package-gallery__thumbnails::-webkit-scrollbar { display:none; }
.package-gallery__thumbnails button { flex:0 0 82.5px; height:58.5px; padding:1.5px; border:1.5px solid transparent; border-radius:3px; background:#fff; cursor:pointer; scroll-snap-align:center; }
.package-gallery__thumbnails button[aria-current="true"] { border:3px solid var(--product-ink); }
.package-gallery__thumbnails img { width:100%; height:100%; object-fit:contain; }
.product-page button:focus-visible, .product-page a:focus-visible, .product-page summary:focus-visible { outline:2px solid #008696; outline-offset:3px; }
.product-page__summary { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:35px; padding-top:29px; padding-bottom:30px; border-bottom:1px solid var(--product-line); }
.product-page__title h1 { font-size:var(--sm-font-product-heading, 32px); letter-spacing:-1px; line-height:1.15; font-weight:var(--sm-font-heading-weight, 500); margin:0 0 7px; }
.product-page__subtitle { font-size:calc(var(--sm-font-product-body, 14px) * 1); color:var(--product-muted); margin:0; }
.product-page__purchase { display:flex; align-items:center; gap:25px; }
.product-page__price { display:grid; }
.product-page__price > span { font-size:calc(var(--sm-font-product-body, 14px) * 0.7857142857142857); color:var(--product-muted); }
.product-page__price strong { font-size:var(--sm-font-product-price, 24px); letter-spacing:-.5px; line-height:1.4; font-weight:600; white-space:nowrap; font-variant-numeric:tabular-nums; }
.product-page__price small { font-size:calc(var(--sm-font-product-body, 14px) * 0.7857142857142857); letter-spacing:.5px; }
.product-page__purchase .button, .product-page__text-link, .product-page__description > summary { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; min-height:46px; max-width:100%; background:var(--product-ink); color:#fff; border:0; border-radius:2px; padding:15px 18px; font:700 calc(var(--sm-font-product-body, 14px) * 0.7857142857142857)/1.45 var(--sm-product-font, "Manrope", Arial, sans-serif); letter-spacing:.5px; text-transform:uppercase; text-decoration:none; cursor:pointer; }
.product-page__purchase .button { display:flex; white-space:nowrap; }
.product-page__text-link:hover, .product-page__description > summary:hover { color:#fff; text-decoration:none; }
.product-page__description > summary { list-style:none; }
.product-page__description > summary::-webkit-details-marker { display:none; }
.product-page__information { display:grid; grid-template-columns:40% 60%; gap:0; padding-top:32px; padding-bottom:32px; }
.product-page__intro { padding-right:42px; }
.product-page__intro h2 { font-size:calc(var(--sm-font-product-body, 14px) * 1.6428571428571428); line-height:1.4; font-weight:var(--sm-font-heading-weight, 500); letter-spacing:-.5px; margin:0 0 12px; max-width:15ch; }
.product-page__copy { font-size:calc(var(--sm-font-product-body, 14px) * 0.9285714285714286); line-height:1.8; color:var(--product-muted); margin:0 0 18px; max-width:55ch; }
.product-page__accordions { min-width:0; }
.product-page__accordion { margin-bottom:8px; border-bottom:1px solid var(--product-line); }
.product-page__accordion:first-child { border-top:1px solid var(--product-line); }
.product-page__accordion > summary { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:15px 16px; background:var(--product-ink); color:#fff; font-size:calc(var(--sm-font-product-body, 14px) * 0.8571428571428571); font-weight:600; list-style:none; cursor:pointer; }
.product-page__accordion-body { padding-top:16px; }
.product-page__accordion > summary::-webkit-details-marker { display:none; }
.product-page__chevron { width:7px; height:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); margin-right:4px; }
.product-page__accordion[open] > summary .product-page__chevron { transform:rotate(225deg); }
.product-page__specs { display:grid; grid-template-columns:1fr 1fr; gap:12px 25px; margin:0 0 21px; }
.product-page__specs dt { font-size:calc(var(--sm-font-product-body, 14px) * 0.7857142857142857); color:var(--product-muted); }
.product-page__specs dd { font-size:calc(var(--sm-font-product-body, 14px) * 1.0714285714285714); margin:1px 0 0; }
.product-page__accordion-body h3 { font-size:calc(var(--sm-font-product-body, 14px) * 0.9285714285714286); }
.product-page__accordion-body .entry-content, .product-page__description .entry-content { font:calc(var(--sm-font-product-body, 14px) * 0.9285714285714286)/1.8 var(--sm-product-font, "Manrope", Arial, sans-serif); }
.product-page__description { margin-top:10px; }
.product-page__description[open] .entry-content { padding-top:14px; }
.product-page__items { margin:0; padding:0 0 13px 18px; color:var(--product-muted); font-size:calc(var(--sm-font-product-body, 14px) * 0.8571428571428571); }
.product-page__items li { margin-bottom:7px; }
.product-page__items--included { padding-left:0; list-style:none; }
.product-page__items--included li { display:flex; align-items:baseline; justify-content:space-between; gap:15px; padding:8px 0; border-top:1px solid var(--product-line); margin:0; }
.product-page__note { font-size:calc(var(--sm-font-product-body, 14px) * 0.7857142857142857); color:var(--product-muted); margin:0 0 12px; }
.product-page-footer { display:flex; justify-content:space-between; gap:16px; background:var(--product-soft); color:var(--product-muted); padding:16px 32px; font-size:calc(var(--sm-font-product-body, 14px) * 0.7142857142857143); letter-spacing:1px; text-transform:uppercase; }
.product-page-footer a { color:inherit; text-decoration:none; }
.package-configure { padding-top:20px; padding-bottom:32px; }
.package-configure__back { display:inline-block; font-size:calc(var(--sm-font-product-body, 14px) * 0.7857142857142857); text-decoration:none; padding-bottom:22px; }
.package-configure__heading { margin:0 0 30px; border-bottom:1px solid var(--product-line); padding-bottom:24px; }
.package-configure__heading h1 { font-size:calc(var(--sm-font-product-heading, 32px) * .9375); line-height:1.15; font-weight:var(--sm-font-heading-weight, 500); letter-spacing:-1px; margin:0; }
.package-configure .sm-native-configurator--package { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr); gap:35px; min-height:0; background:transparent; box-shadow:none; align-items:start; font-family:inherit; }
.sm-native-configurator--package .sm-config-controls { padding:0; overflow:visible; min-width:0; }
.sm-native-configurator--package .sm-config-controls > h2 { font-size:calc(var(--sm-font-product-body, 14px) * 1.6428571428571428); line-height:1.4; font-weight:var(--sm-font-heading-weight, 500); margin:0 0 12px; }
.sm-native-configurator--package .sm-config-controls > p { font-size:calc(var(--sm-font-product-body, 14px) * 0.9285714285714286); color:var(--product-muted); margin:0 0 18px; }
.sm-native-configurator--package .sm-config-checkout { position:sticky; top:100px; background:var(--product-soft); padding:24px; min-width:0; }
.sm-native-configurator--package .sm-config-checkout h2 { font-size:calc(var(--sm-font-product-body, 14px) * 1.2857142857142858); line-height:1.4; font-weight:var(--sm-font-heading-weight, 500); margin:0 0 3px; }
.sm-native-configurator--package .sm-config-checkout .product-page__subtitle { font-size:calc(var(--sm-font-product-body, 14px) * 0.7857142857142857); margin-bottom:12px; }
.sm-native-configurator--package .sm-config-preview { display:block; position:static; height:auto; max-height:none; background:transparent; padding:10px 0; }
.sm-native-configurator--package .sm-config-preview summary { cursor:pointer; font-size:calc(var(--sm-font-product-body, 14px) * 0.7857142857142857); color:var(--product-muted); }
.sm-native-configurator--package .sm-config-visual { height:220px; min-height:0; }
.sm-native-configurator--package .sm-config-summary { position:static; padding:0; box-shadow:none; border:0; background:transparent; font-size:calc(var(--sm-font-product-body, 14px) * 0.8571428571428571); }
.sm-native-configurator--package .sm-config-summary > strong { font-size:calc(var(--sm-font-product-body, 14px) * 0.7857142857142857); font-weight:400; color:var(--product-muted); margin:12px 0; }
.sm-native-configurator--package .sm-config-summary__prices { gap:12px; }
.sm-native-configurator--package .sm-config-summary__row { grid-template-columns:minmax(0,1fr) auto; gap:14px; font-size:calc(var(--sm-font-product-body, 14px) * 0.8571428571428571); }
.sm-native-configurator--package .sm-config-summary__row dt, .sm-native-configurator--package .sm-config-summary__row dd { color:var(--product-ink); font-weight:400; }
.sm-native-configurator--package .sm-config-summary__row--total { font-size:calc(var(--sm-font-product-body, 14px) * 1.4285714285714286); margin:5px 0 12px; padding-top:13px; border-color:var(--product-line); }
.sm-native-configurator--package .sm-config-summary__row--total dt, .sm-native-configurator--package .sm-config-summary__row--total dd { font-weight:600; }
.sm-native-configurator--package .sm-config-actions { display:flex; flex-direction:column-reverse; align-items:stretch; gap:8px; margin-top:21px; }
.sm-native-configurator--package .sm-config-actions .sm-button { border-radius:2px; min-height:46px; font:700 calc(var(--sm-font-product-body, 14px) * 0.7857142857142857)/1.4 var(--sm-product-font, "Manrope", Arial, sans-serif); letter-spacing:.5px; padding:15px 18px; }
.sm-native-configurator--package #sm-save-configuration { min-height:0; width:max-content; background:none; border:0; padding:5px 0; text-transform:none; color:var(--product-ink); font-size:calc(var(--sm-font-product-body, 14px) * 0.8571428571428571); font-weight:400; text-decoration:underline; text-underline-offset:5px; }
.sm-native-configurator--package .sm-config-group { background:none; padding:0; border:0; margin:0 0 20px; }
.sm-native-configurator--package .sm-config-group h3, .sm-native-configurator--package .sm-config-group > summary { font-size:calc(var(--sm-font-product-body, 14px) * 0.8571428571428571); font-weight:600; margin:0; padding:10px 0; }
.sm-native-configurator--package .sm-config-group > p { display:none; }
.sm-native-configurator--package .sm-config-options { display:block; }
.sm-native-configurator--package .sm-config-option.sm-config-option--editorial { display:grid; grid-template-columns:18px minmax(0,1fr) auto; gap:12px; min-height:0; align-items:center; padding:18px 0; border:0; border-bottom:1px solid var(--product-line); border-radius:0; box-shadow:none; background:transparent; }
.sm-native-configurator--package .sm-config-option--editorial > input { position:static; appearance:auto; -webkit-appearance:auto; width:18px; height:18px; margin:0; border:initial; accent-color:#0b6878; transform:none; }
.sm-native-configurator--package .sm-config-option--editorial > input::before, .sm-native-configurator--package .sm-config-option--editorial > input::after { content:none; }
.sm-native-configurator--package .sm-config-option--editorial .sm-config-option__identity { display:flex; align-items:center; gap:12px; min-width:0; }
.sm-native-configurator--package .sm-config-option--editorial .sm-config-option__thumbnail { flex:0 0 64px; width:64px; height:52px; object-fit:contain; background:#fff; border:1px solid var(--product-line); border-radius:2px; padding:3px; }
.sm-native-configurator--package .sm-config-option--editorial strong { font-size:calc(var(--sm-font-product-body, 14px) * 0.9285714285714286); font-weight:400; }
.sm-native-configurator--package .sm-config-option--editorial small { font-size:calc(var(--sm-font-product-body, 14px) * 0.7857142857142857); color:var(--product-muted); }
.sm-native-configurator--package .sm-config-option--editorial b { font-size:calc(var(--sm-font-product-body, 14px) * 0.8571428571428571); font-weight:var(--sm-font-heading-weight, 500); white-space:nowrap; }
.sm-native-configurator--package .sm-config-search { margin:0 0 8px; }
.sm-native-configurator--package .sm-config-search input { font-size:calc(var(--sm-font-product-body, 14px) * 0.8571428571428571); min-height:36px; padding-top:8px; padding-bottom:8px; }
@media(max-width:850px) {
 .product-page__summary { grid-template-columns:1fr; gap:20px; }
 .product-page__purchase { justify-content:space-between; }
 .product-page__information { grid-template-columns:1fr; gap:20px; }
 .product-page__intro { padding:0; max-width:560px; }
 .package-configure .sm-native-configurator--package { grid-template-columns:1fr; }
 .sm-native-configurator--package .sm-config-checkout { position:static; }
}
@media(max-width:1000px) {
 .package-gallery__toolbar { flex-wrap:wrap; }
 .package-gallery__thumbnails { width:100%; max-width:100%; }
}
@media(prefers-reduced-motion:reduce) {
 .package-gallery__controls > button,.package-gallery__dots button::before { transition:none; }
}
@media(max-width:560px) {
 .single-sm_product .container { width:calc(100% - 40px); }
 .single-sm_product .site-header__main { min-height:70px; }
 .single-sm_product .site-logo img, .single-sm_product .custom-logo { width:100px; }
 .package-gallery { padding:16px 0; }
 .package-gallery__top { font-size:calc(var(--sm-font-product-body, 14px) * 0.7142857142857143); align-items:start; }
 .package-gallery__top > a { font-size:calc(var(--sm-font-product-body, 14px) * 0.6428571428571429); white-space:normal; text-align:right; max-width:80px; }
 .package-gallery__toolbar { flex-wrap:wrap; gap:12px; }
 .package-gallery__thumbnails { width:100%; max-width:100%; order:2; }
 .package-gallery__thumbnails button { flex:0 0 72px; height:58.5px; }
 .package-gallery__navigation { width:100%; justify-content:center; gap:10px; }
 .package-gallery__counter { justify-content:center; width:100%; }
 .package-gallery__dots { max-width:96px; }
 .product-page__summary, .product-page__information { padding-top:23px; padding-bottom:23px; }
 .product-page__title h1 { font-size:calc(var(--sm-font-product-heading, 32px) * .875); }
 .product-page__purchase { flex-wrap:wrap; gap:16px; }
 .product-page__purchase .button { width:100%; }
 .product-page__items--included li { flex-wrap:wrap; gap:5px; }
 .product-page-footer { padding:16px 20px; font-size:calc(var(--sm-font-product-body, 14px) * 0.6428571428571429); }
 .sm-native-configurator--package .sm-config-checkout { padding:21px; }
 .sm-native-configurator--package .sm-config-option.sm-config-option--editorial { grid-template-columns:18px minmax(0,1fr); }
 .sm-native-configurator--package .sm-config-option--editorial b { grid-column:2; }
 .sm-native-configurator--package .sm-config-option--editorial .sm-config-option__thumbnail { flex-basis:48px; width:48px; height:44px; }
 .sm-native-configurator--package .sm-config-option--editorial .sm-config-option__identity { gap:9px; }
 .sm-native-configurator--package .sm-config-summary__row--total { font-size:calc(var(--sm-font-product-body, 14px) * 1.2857142857142858); }
}
