/* Product-page layout, authored for the Heresé adaptation of the SipSip reference. */
.sip-product-stage{background:linear-gradient(180deg,#ffd4e1 0%,#ffc1d5 100%);color:#790020;padding:24px 0 42px}
.sip-product-main.product-section{display:grid;grid-template-columns:minmax(0,.45fr) minmax(0,.55fr);width:min(1500px,100%);gap:48px;padding:0 50px;margin:0 auto;align-items:start}
.sip-product-gallery{min-width:0;position:sticky;top:110px}
.sip-product-media{position:relative;border-radius:24px;overflow:hidden;background:#ffe8ef;aspect-ratio:1}
.sip-product-media img{display:block;width:100%;height:100%;object-fit:contain;border-radius:24px}
.sip-product-concept{position:absolute;bottom:16px;left:20px;font-size:11px;background:#fff9f8d9;padding:6px 10px;border-radius:12px}
.sip-gallery-caption{display:flex;justify-content:space-between;gap:16px;font-size:12px;padding:17px 6px;color:#790020}
.sip-product-info{min-width:0;max-width:650px;padding:0 0 12px;font-family:var(--sans,Arial,sans-serif);font-size:16px;line-height:1.75}
.sip-product-info p{margin:0 0 14px}
.sip-product-info .sip-product-format{font-family:var(--sip-heading,Arial,sans-serif);text-transform:uppercase;font-weight:700;letter-spacing:.5px;font-size:16px;line-height:1.4;margin:0 0 18px}
.sip-product-info .sip-product-edition{font-family:var(--sip-heading,Arial,sans-serif);font-size:21px;font-weight:700;line-height:1.2;margin:0 0 12px}
.sip-product-info h1{font-family:var(--sip-heading,Arial,sans-serif);font-size:44px;line-height:1.12;font-weight:700;letter-spacing:0;color:#790020;margin:0 0 12px}
.sip-product-info .sip-product-boxes{font-family:var(--sip-heading,Arial,sans-serif);font-weight:700;font-size:21px;line-height:1.25;margin:0 0 24px}
.sip-product-icons{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:12px 0 23px;max-width:480px}
.sip-product-icons>div{display:flex;align-items:center;text-align:center;flex-direction:column;gap:10px}
.sip-product-icons svg{width:48px;height:48px;stroke-width:1.8;color:#790020}
.sip-product-icons span{font-size:12px;font-weight:600;line-height:1.2;letter-spacing:0}
.sip-product-info .sip-product-description{border:1px solid #790020;border-radius:24px;padding:18px;font-size:16px;line-height:1.75;margin:0 0 15px}
.sip-product-checks{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:7px}
.sip-product-checks li{display:flex;align-items:center;gap:9px;font-size:14px;line-height:1.5}
.sip-product-checks svg{width:20px;height:20px;flex:none;padding:2px;border:1px solid #790020;border-radius:50%;stroke-width:2}
.sip-product-info .purchase-form{margin:22px 0 0;display:flex;flex-direction:column}
.sip-product-info .pack-fieldset{order:1;padding:0;border:0;margin:0 0 18px}
.sip-product-info .pack-fieldset legend{font-family:var(--sip-heading,Arial,sans-serif);font-size:16px;font-weight:700;margin-bottom:10px}
.sip-product-info .purchase-price-row{order:0;display:flex;gap:20px;align-items:center;margin:0 0 18px;color:#790020}
.sip-product-info .purchase-price-row strong{font-family:var(--sip-heading,Arial,sans-serif);font-size:30px;line-height:1.25;font-weight:700}
.sip-product-info .purchase-price-row>span{font-size:12px}
.sip-product-info .pack-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sip-product-info .pack-option-inner{border:1px solid transparent;border-radius:16px;background:#ffe8ef;min-height:77px;padding:15px 10px;display:flex;flex-direction:column;justify-content:center;gap:4px;text-align:center;color:#790020}
.sip-product-info .pack-option input:checked+.pack-option-inner{background:#ffe8ef;border-color:#790020;box-shadow:none}
.sip-product-info .pack-option input:focus-visible+.pack-option-inner{outline:2px solid #790020;outline-offset:3px}
.sip-product-info .pack-name{font-size:14px;font-weight:700}
.sip-product-info .pack-price{font-size:14px;font-weight:500}
.sip-product-info .purchase-actions{order:2;display:flex;align-items:stretch;gap:15px;margin:0}
.sip-product-info .quantity-picker{border:1px solid #790020;border-radius:24px;display:flex;height:50px;flex:none;background:transparent}
.sip-product-info .quantity-picker button{height:48px;width:40px;color:#790020}
.sip-product-info .quantity-picker input{width:40px;color:#790020;font-size:15px;height:48px;background:transparent}
.sip-product-info .add-button{background:#790020;color:#fff9f8;border:1px solid #790020;border-radius:28px;min-height:50px;padding:12px 24px;flex:1;font-size:15px;font-weight:600;justify-content:center}
.sip-product-info .add-button:hover{background:#9c1240;border-color:#9c1240}
.sip-product-info .add-button svg{display:none}
.sip-product-info .purchase-fineprint{order:3;font-size:11px;line-height:1.5;margin:12px 0 0}
.sip-product-info .form-status{order:4;font-size:12px;margin:10px 0 0}
.sip-product-info .delivery-check{margin:20px 0 25px;font-size:13px;color:#790020}
.sip-product-info .delivery-check>label{font-size:13px;font-weight:600}
.sip-product-info .delivery-check>div{border:1px solid #790020;border-radius:24px}
.sip-product-info .delivery-check input{padding:11px 16px;color:#790020}
.sip-product-info .delivery-check button{background:#fff0a4;color:#790020;padding:10px 20px;font-size:13px}
.sip-product-info .delivery-check>p{font-size:11px;line-height:1.5;margin:8px 0 0}
.sip-product-tabs{border:1px solid #790020;border-radius:24px;margin:24px 0 0;padding:0;overflow:hidden;min-width:0}
.sip-tabs-legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sip-product-tab-headings{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #7900204d}
.sip-product-tab-headings label{position:relative;display:block;text-align:center;min-width:0;cursor:pointer}
.sip-product-tab-headings input{position:absolute;opacity:0;width:1px;height:1px}
.sip-product-tab-headings span{font-family:var(--sip-heading,Arial,sans-serif);display:flex;align-items:center;justify-content:center;padding:17px 8px;font-size:14px;min-height:56px;border-bottom:3px solid transparent}
.sip-product-tab-headings label:has(input:checked) span{border-bottom-color:#790020;font-weight:700;background:#ffffff22}
.sip-product-tab-headings label:has(input:focus-visible){outline:2px solid #790020;outline-offset:-4px}
.sip-product-tab-panel{display:none;padding:24px;font-size:15px;line-height:1.8}
.sip-product-tab-panel a{font-weight:600;text-decoration:underline;text-underline-offset:4px;font-size:13px}
.sip-product-tabs:has(#sip-detail-description:checked) .sip-panel-description,.sip-product-tabs:has(#sip-detail-ingredients:checked) .sip-panel-ingredients,.sip-product-tabs:has(#sip-detail-included:checked) .sip-panel-included{display:block}
.sip-product-tab-panel p:last-child{margin-bottom:0}
.sip-product-info .sip-product-development{font-size:11px;margin:18px 0 0;line-height:1.6}
.sip-product-feature-strip{padding:38px 50px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;color:#790020;background:#fff0a4}
.sip-product-feature-strip>div{display:flex;align-items:center;justify-content:center;gap:15px;font-size:16px;line-height:1.4;font-weight:600}
.sip-product-feature-strip svg{width:54px;height:54px;flex:none;stroke-width:1.8}
.sip-product-ingredients{background:#fff9f8;color:#790020;padding:50px max(50px,calc((100vw - 1400px)/2)) 65px;text-align:center}
.sip-product-ingredients h2{font-family:var(--sip-heading,Arial,sans-serif);font-weight:700;font-size:40px;line-height:1.2;color:#790020;letter-spacing:0;margin:0 0 16px}
.sip-ingredients-intro{font-size:15px;line-height:1.6;margin:0 auto 35px;max-width:650px}
.sip-product-ingredient-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sip-product-ingredient-card{border:1px solid #790020;border-radius:24px;padding:28px 24px;background:#ffe8ef;display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0}
.sip-product-ingredient-card:nth-child(2){background:#ffd4e1}
.sip-product-ingredient-card:nth-child(3){background:#fff0d5}
.sip-product-ingredient-card:nth-child(4){background:#fff0a4}
.sip-ingredient-art{height:100px;width:120px;color:#790020;display:grid;place-items:center}
.sip-ingredient-art svg{width:100%;height:100%;stroke-width:3}
.sip-product-ingredient-card h3{font-family:var(--sip-heading,Arial,sans-serif);font-size:26px;font-weight:700;line-height:1.3;letter-spacing:0;margin:0;color:#790020}
.sip-product-ingredient-card p{font-size:14px;line-height:1.6;margin:0;max-width:300px}
.sip-ingredient-highlight{background:#fff9f89e;border-radius:24px;font-size:12px;font-weight:600;padding:6px 14px;margin:3px 0 5px}
.sip-product-ingredient-card button{border:0;border-radius:24px;background:#790020;color:#fff9f8;font-size:13px;font-weight:600;padding:11px 23px;margin-top:auto;cursor:pointer}
.sip-product-ingredient-card button:hover{background:#9c1240}
.sip-ingredient-mineral{font-family:var(--sip-heading,Arial,sans-serif);font-size:64px;font-weight:700;line-height:1}
.sip-ingredients-note{font-size:11px;line-height:1.8;max-width:780px;margin:26px auto 18px}
.sip-ingredients-link{display:inline-block;font-size:13px;font-weight:600;border-bottom:1px solid #790020;padding-bottom:4px}
.sip-ingredient-dialog{background:#fff9f8;color:#790020;border:1px solid #790020;border-radius:24px;font-family:var(--sans,Arial,sans-serif)}
.sip-ingredient-dialog h2{font-family:var(--sip-heading,Arial,sans-serif);color:#790020;font-size:36px;line-height:1.2;font-weight:700;margin:0 0 6px}
.sip-ingredient-dialog h3{font-family:var(--sip-heading,Arial,sans-serif);font-size:18px;line-height:1.4;font-weight:700;margin:24px 0 9px}
.sip-ingredient-dialog p:not(.eyebrow){font-size:14px;line-height:1.75}
.sip-ingredient-dialog .sip-dialog-category{font-size:12px;font-weight:600;margin:0}
@media(max-width:1100px){.sip-product-main.product-section{padding:0 30px;gap:30px}.sip-product-icons{gap:12px}.sip-product-feature-strip{padding:30px;gap:18px}.sip-product-feature-strip>div{font-size:13px;gap:10px}.sip-product-feature-strip svg{width:44px;height:44px}.sip-product-ingredients{padding:45px 30px 55px}.sip-product-ingredient-grid{gap:20px}}
@media(max-width:749px){.sip-product-stage{padding:20px 0 30px}.sip-product-main.product-section{grid-template-columns:1fr;gap:24px;padding:0 20px}.sip-product-gallery{position:static;max-width:580px;width:100%;margin:auto}.sip-product-concept{font-size:10px;left:15px;bottom:14px}.sip-gallery-caption{font-size:10px;padding:12px 4px}.sip-product-info{max-width:none;padding:0;font-size:14px}.sip-product-info .sip-product-format{font-size:14px;margin-bottom:16px}.sip-product-info .sip-product-edition{font-size:18px;margin-bottom:9px}.sip-product-info h1{font-size:36px;margin-bottom:11px}.sip-product-info .sip-product-boxes{font-size:18px;margin-bottom:22px}.sip-product-icons{grid-template-columns:repeat(4,minmax(0,1fr));max-width:430px;gap:12px;margin-bottom:23px}.sip-product-icons svg{width:36px;height:36px}.sip-product-icons span{font-size:10px}.sip-product-info .sip-product-description{font-size:14px;padding:17px;line-height:1.75}.sip-product-checks li{font-size:12px;gap:8px}.sip-product-info .pack-options{gap:9px}.sip-product-info .pack-option-inner{min-height:72px;border-radius:16px;padding:13px 6px}.sip-product-info .pack-name,.sip-product-info .pack-price{font-size:12px}.sip-product-info .purchase-price-row strong{font-size:27px}.sip-product-info .quantity-picker button{width:33px}.sip-product-info .quantity-picker input{width:32px}.sip-product-info .purchase-actions{gap:10px}.sip-product-info .add-button{font-size:14px;padding:11px 17px}.sip-product-info .delivery-check input{font-size:16px}.sip-product-info .delivery-check button{font-size:12px;padding:10px 17px}.sip-product-tab-headings span{font-size:12px;padding:15px 5px;min-height:51px}.sip-product-tab-panel{padding:20px;font-size:14px}.sip-product-feature-strip{grid-template-columns:repeat(2,minmax(0,1fr));padding:28px 20px;gap:26px 14px}.sip-product-feature-strip>div{justify-content:flex-start;font-size:12px;gap:10px}.sip-product-feature-strip svg{width:40px;height:40px}.sip-product-ingredients{padding:40px 20px 45px}.sip-product-ingredients h2{font-size:32px;margin-bottom:14px}.sip-ingredients-intro{font-size:13px;margin-bottom:25px}.sip-product-ingredient-grid{grid-template-columns:1fr;gap:20px}.sip-product-ingredient-card{padding:26px 22px}.sip-product-ingredient-card h3{font-size:24px}.sip-product-ingredient-card p{font-size:13px}.sip-ingredients-note{font-size:10px}.sip-ingredient-dialog h2{font-size:30px}.sip-ingredient-dialog p:not(.eyebrow){font-size:13px}}
@media(prefers-reduced-motion:reduce){.sip-product-stage *, .sip-product-ingredients *{scroll-behavior:auto}}
