/* ToutWAF site: self-service ordering pages (offer pages, cart, order form, confirmation). Loaded by these pages only; colours are the theme variables,
   so the light, dark and Halloween themes apply. Logical properties keep it right-to-left safe. */
.offer-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(14px,2vw,24px);align-items:stretch}
@media(max-width:820px){.offer-top{grid-template-columns:minmax(0,1fr)}}
.offer-top .price{margin:12px 0 4px}
.offer-top .btns,.done .btns{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 6px}
.fine.alt{text-align:start;margin:0 0 4px}
.ol{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:9px;font-size:.96rem}
.ol li{display:flex;gap:10px;align-items:flex-start;min-width:0}
.ol li::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;background:var(--ok);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/contain no-repeat}
.ol.no li::before{background:var(--bad);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E")}
.ol.big{font-size:1.02rem;font-weight:650;color:var(--head)}
.ol-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px clamp(16px,3vw,36px);margin-top:6px}
@media(max-width:700px){.ol-grid{grid-template-columns:minmax(0,1fr)}}
.ol-g h3{font-size:1rem;margin:16px 0 0;color:var(--head)}
.ol-g .ol{margin-top:8px;font-size:.92rem;gap:7px}
.qt{display:grid;margin:14px 0 0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.qt>div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:12px;padding:11px 16px;border-top:1px solid var(--line)}
.qt>div:first-child{border-top:0}
.qt dt{color:var(--muted);font-weight:650}
.qt dd{margin:0;color:var(--head);font-weight:650;overflow-wrap:anywhere}
@media(max-width:560px){.qt>div{grid-template-columns:minmax(0,1fr);gap:2px}}
.steps-l{margin:14px 0 0;padding-inline-start:1.3em;display:grid;gap:9px}
.cart-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(14px,2vw,24px);align-items:start}
@media(max-width:860px){.cart-grid{grid-template-columns:minmax(0,1fr)}.cart-grid .cart-sum{order:-1}}
.cart-grid>.card{padding:clamp(18px,2.6vw,30px)}
.cart-grid h2{margin-bottom:14px}
.cart-sum{position:sticky;top:96px}
@media(max-width:860px){.cart-sum{position:static}}
.sum{margin:0 0 12px;display:grid;gap:0}
.sum>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:10px 0;border-top:1px solid var(--line)}
.sum>div:first-child{border-top:0}
.sum dt{color:var(--muted);min-width:0}
.sum dd{margin:0;font-weight:700;color:var(--head);font-variant-numeric:tabular-nums;unicode-bidi:isolate;white-space:nowrap}
.sum .tot{border-top:2px solid var(--line2)}
.sum .tot dt{color:var(--head);font-weight:750}
.sum .tot dd{font-size:1.35rem}
.cart-sum .btn{width:100%;margin-top:6px}
.cart-grid form .f,.orderf .f{display:grid;gap:6px;margin-bottom:14px;min-width:0}
.cart-grid label,.orderf legend{font-weight:650;font-size:.93rem}
.fg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;margin-bottom:12px}
.fg .wide{grid-column:1/-1}
@media(max-width:560px){.fg{grid-template-columns:minmax(0,1fr)}}
.f[hidden]{display:none}
.seg{border:0;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:8px 22px}
.seg legend{width:100%;padding:0;margin-bottom:6px}
.cart-grid .chk,.orderf .chk{display:flex;gap:12px;align-items:flex-start;font-weight:500;font-size:.95rem;margin:0 0 12px}
.cart-grid .chk input,.orderf .chk input{flex:none;width:20px;height:20px;margin-top:2px;padding:0}
.pay-box{display:grid;gap:8px;margin-bottom:16px}
.notice-i{margin:0;padding:12px 14px;border:1px solid var(--line2);border-radius:12px;background:color-mix(in srgb,var(--accent) 8%,transparent)}
.hp{position:absolute;width:0;height:0;overflow:hidden;opacity:0;pointer-events:none}
.form-err{margin:0 0 12px;padding:11px 14px;border-radius:12px;border:1px solid var(--bad);color:var(--bad);background:color-mix(in srgb,var(--bad) 9%,transparent);font-weight:650}
.form-err[hidden]{display:none}
.orderf .btn{width:100%}
.orderf .btn[disabled]{cursor:not-allowed;background:var(--card);color:var(--muted);border-color:var(--line2);box-shadow:none}
input:user-invalid,select:user-invalid{border-color:var(--bad)}
.shop-mock{margin:0 0 16px;padding:11px 16px;border-radius:12px;border:1px dashed var(--line2);background:color-mix(in srgb,var(--accent2,var(--accent)) 10%,transparent);font-weight:650;text-align:center}
.shop-mock[hidden]{display:none}
.done{display:grid;gap:6px}
.done .qt{margin-bottom:6px}
.done .qt[hidden]{display:none}
.offer-top .tl{min-height:0}
@media print{.cart-sum{position:static}}
.ol li{flex-wrap:wrap}
.ol li .ph{flex-basis:100%;max-width:max-content;margin-inline-start:28px}
.ol+p{margin-top:16px}
.ol[hidden]{display:none}
.cart-grid .f{display:grid;gap:6px;margin-bottom:14px;min-width:0}
.cart-grid input:not([type=radio]):not([type=checkbox]),.cart-grid select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line2);border-radius:12px;padding:12px 14px;width:100%}
.cart-grid input:focus-visible,.cart-grid select:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}
.cart-grid input[readonly]{opacity:.75}
.cart-grid .f.seg,.orderf .f.seg{display:flex}
.orderf .f,.cart-grid .f{align-content:start}
.orderf[hidden],.auth-gate[hidden]{display:none}
.auth-gate{padding:clamp(18px,2.6vw,30px)}
.acct{display:grid;gap:18px}
.acct-card{padding:clamp(18px,2.6vw,30px);display:grid;gap:14px;align-content:start}
.acct-card h2{margin:0}
.acct .tabs{display:flex;gap:6px;padding:4px;border:1px solid var(--line);border-radius:14px;background:var(--bg2);width:fit-content;max-width:100%;margin:0}
.acct .tabs button{border:0;background:none;font:inherit;font-weight:700;padding:9px 16px;border-radius:10px;color:var(--muted);cursor:pointer}
.acct .tabs button[aria-selected=true]{background:var(--btn);color:#fff}
.acct-form{display:grid;gap:4px}
.acct-form[hidden]{display:none}
.acct-form .btn{justify-self:start}
.acct .chk{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;margin:4px 0 10px}
.acct .chk input{flex:none;width:20px;height:20px;margin-top:2px;padding:0}
.linkbtn{background:none;border:0;padding:6px 8px;font:inherit;font-size:.93rem;color:var(--acc-t);text-decoration:underline;cursor:pointer}
.pw-meter{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:2px 0}
.pw-meter i{height:5px;border-radius:99px;background:var(--line2)}
.pw-meter i.s1{background:var(--bad)}
.pw-meter i.s2{background:#d98a00}
.pw-meter i.s3,.pw-meter i.s4{background:var(--ok)}
.acct .btns{display:flex;flex-wrap:wrap;gap:10px}
.acct .tablewrap{overflow-x:auto}
