/* Scoped additions to the approved five-section presentation. */
[hidden]{display:none!important}
.trial-gate{background:var(--butter);border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:20px;color:var(--wine)}
.trial-gate h2,.trial-gate h3{font-family:var(--serif);font-size:clamp(25px,3vw,36px);line-height:1.15;max-width:760px}
.trial-gate p{max-width:730px;margin-top:10px}
.interest-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}
.interest-fields label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;min-width:0}
.interest-fields input,.interest-fields select{font:inherit;font-weight:400;color:var(--wine);background:var(--cream);border:1px solid #aa927b;border-radius:8px;min-height:48px;padding:10px 12px;min-width:0;width:100%}
.interest-fields input:focus-visible,.interest-fields select:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.interest-fields [aria-invalid=true]{border:2px solid #a32c3c}
.interest-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.interest-actions .primary{white-space:normal;text-align:center;max-width:100%;line-height:1.4}
.trial-help{font-size:12px!important;font-weight:400}
.trial-status{padding:16px 18px;border:1px solid var(--line);background:#fff8e7;border-radius:12px;margin:12px 0;overflow-wrap:anywhere}
.trial-status h3{font-size:22px}.trial-status p{margin:8px 0}.trial-status button{min-height:44px;text-decoration:underline}
.trial-status.is-error{border-color:#a32c3c}
.trial-reference{font-size:13px}.trial-expiry{font-size:12px;margin:8px 0}
.trial-locked-price{padding:12px 16px;border-top:1px solid var(--line);font-size:12px}
.catalog-slide .catalog-content{display:flex;flex-direction:column;min-height:0;overflow:auto;overscroll-behavior:contain}
.catalog-slide #price-gate{flex:none}.catalog-slide .product-scroll{overflow:visible;flex:none;min-height:0}
.catalog-slide .catalog-footer{position:sticky;bottom:0;z-index:2;background:var(--cream);flex:none}
.trial-final-layout{display:block!important;max-width:960px;width:100%;margin-inline:auto}
.trial-submit-panel{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.trial-submit-panel .primary{white-space:normal;max-width:100%;line-height:1.4}
.trial-submit-panel p{margin:12px 0;font-size:13px}.trial-receipt-line{padding:12px 0;border-bottom:1px solid var(--line);display:flex;gap:12px;justify-content:space-between}
.trial-receipt-line span{min-width:0;overflow-wrap:anywhere}.trial-receipt-line strong{flex:none;font-variant-numeric:tabular-nums}
.catalog-footer .primary{white-space:normal}.trial-form-note{font-size:12px}
@media(max-width:760px){.trial-gate{padding:18px;border-radius:14px}.interest-fields{gap:14px}.interest-fields label{font-size:12px}.trial-gate h3{font-size:28px}.trial-status h3{font-size:24px}.trial-status{padding:16px}.trial-final-layout{max-width:100%}.catalog-slide .catalog-heading{flex-wrap:wrap}.trial-only-badge{font-size:10px}}
@media(max-width:480px){.interest-fields{grid-template-columns:1fr}.trial-gate{padding:16px}.interest-actions{display:block}.interest-actions>*{width:100%}.interest-actions .text-button{margin-top:8px}.interest-fields input,.interest-fields select{font-size:16px}.trial-gate h3{font-size:26px}.trial-submit-panel .primary{width:100%;font-size:14px}.catalog-footer{gap:8px}.catalog-footer .primary{font-size:12px}}
@media(prefers-reduced-motion:reduce){.slide{transition:none!important;transform:none!important}}

/* Keep the trial chapter in normal document flow: navigation must never extend
   over the assurance and terms blocks when a laptop is tall or narrow. */
@media(min-width:761px){
 .trial-experience{min-height:min-content}
 .trial-workbench{flex:0 0 auto;min-height:0;align-items:stretch}
 .trial-stations button{flex:1 1 0;min-height:0;padding:12px 14px}
 .trial-stage{min-height:0}
}

/* The portrait-desktop rule in the presentation used to stack a full-width
   image above the copy.  Keep both parts side by side here and cap the image,
   so the five steps and the following terms remain separate, readable blocks. */
@media(min-width:1051px) and (max-aspect-ratio:4/3){
 .trial-stage{grid-template-columns:minmax(0,1.2fr) minmax(240px,.9fr);grid-template-rows:none;align-items:center;gap:24px;padding:22px}
 .trial-photo{height:auto;align-self:center}
 .trial-photo img{width:100%;height:auto;max-height:300px;object-fit:contain}
 .trial-detail h3{font-size:clamp(28px,3vw,38px);margin-bottom:12px}
 .trial-detail>p:not(.eyebrow){font-size:16px;line-height:1.5}
 .trial-detail .light{margin-top:16px}
}

@media(min-width:761px) and (max-width:1050px){
 .trial-workbench{gap:18px}
 .trial-stage{grid-template-rows:none;align-content:start;gap:16px;padding:20px}
 .trial-photo{height:auto;align-self:center}
 .trial-photo img{height:auto;max-height:220px;object-fit:contain}
 .trial-detail h3{font-size:30px;margin-bottom:10px}
 .trial-detail>p:not(.eyebrow){font-size:15px;line-height:1.5}
 .trial-detail .light{margin-top:14px}
 .trial-stations button{padding:10px 12px}
 .trial-stations strong{font-size:14px}
}

/* Pending state is deliberately modest: it explains the wait and keeps the
   only available action close to the message without suggesting success. */
.catalog-slide #price-gate{max-width:780px}
.catalog-slide .trial-status{max-width:680px;margin:18px 0 12px;padding:18px 20px}
.catalog-slide .trial-status h3{font-size:clamp(24px,2.4vw,30px);line-height:1.15}
.catalog-slide .trial-status p{max-width:570px;line-height:1.5}
.catalog-slide .trial-status button{margin-top:2px}

@media(max-width:760px){
 .trial-experience{height:auto;min-height:min-content;overflow:visible}
 .trial-workbench{flex:none}
 .catalog-slide .trial-status{margin-block:14px;padding:16px}
 .catalog-slide .trial-status h3{font-size:24px}
}
