.hagl-form-shell { display: grid; grid-template-columns: .8fr 1.2fr; gap: 34px; max-width: 1180px; }
.hagl-form-intro, .hagl-form-card { padding: clamp(26px, 5vw, 52px); border-radius: 24px; }
.hagl-form-intro { color: #fff; background: #153328; }
.hagl-form-intro h2 { margin: 0 0 18px; font: 600 clamp(2rem, 4vw, 3.7rem)/1.08 var(--font-serif, "Times New Roman", serif); color: #fff; }
.hagl-form-intro p, .hagl-form-intro li { color: rgba(255,255,255,.72); }
.hagl-form-card { border: 1px solid rgba(23,20,15,.14); background: #fffaf0; }
.hagl-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.hagl-form-rule { margin: 0; padding: 12px 14px; border-left: 3px solid #b86e3c; border-radius: 7px; color: #5d5144; background: #f5ecdc; font-size: .78rem; line-height: 1.55; }
.hagl-form label > span { display: block; margin-bottom: 7px; font-size: .84rem; font-weight: 800; }
.hagl-form input:not([type="checkbox"]), .hagl-form select, .hagl-form textarea, .hagl-catalog-toolbar input, .hagl-catalog-toolbar select { width: 100%; min-height: 50px; padding: 11px 13px; border: 1px solid rgba(23,20,15,.18); border-radius: 10px; color: #17140f; background: #fff; }
.hagl-form textarea { resize: vertical; }
.hagl-date-control { position: relative; display: block; }
.hagl-form .hagl-date-control > input[data-hagl-date] { padding-right: 52px; }
.hagl-date-button { position: absolute; z-index: 2; right: 5px; top: 50%; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: #245643; cursor: pointer; transform: translateY(-50%); display: grid; place-items: center; }
.hagl-date-button:hover, .hagl-date-button:focus-visible { background: rgba(36,86,67,.1); outline: 2px solid transparent; }
.hagl-date-button svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hagl-form .hagl-date-native { position: absolute; width: 1px !important; min-height: 1px !important; height: 1px; right: 24px; bottom: 5px; padding: 0; border: 0; opacity: 0; pointer-events: none; }
.hagl-span-2 { grid-column: 1 / -1; }
.hagl-check { align-self: center; display: flex; align-items: center; gap: 9px; padding-top: 24px; }
.hagl-check span { margin: 0 !important; }
.hagl-consent { display: flex; align-items: flex-start; gap: 10px; margin: 22px 0; font-size: .82rem; }
.hagl-consent input { margin-top: 5px; }
.hagl-consent span { margin: 0 !important; font-weight: 500 !important; }
.hagl-consent a { text-decoration: underline; }
.hagl-honeypot { position: absolute !important; left: -10000px !important; }
.hagl-form-result { margin-top: 16px; padding: 0; border-radius: 10px; }
.hagl-form-result.is-success, .hagl-form-result.is-error, .hagl-form-result.is-loading { padding: 13px 15px; }
.hagl-form-result.is-success { color: #164d32; background: #e5f5eb; border: 1px solid #91c9a8; font-weight: 750; }
.hagl-form-result.is-error { color: #8a271f; background: #fae8e5; }
.hagl-form-result.is-loading { background: #f2ecdf; }
.hagl-form-result:focus { outline: 3px solid rgba(36,86,67,.22); outline-offset: 3px; }
.hagl-form-toast { position: fixed; z-index: 10000; top: 22px; right: 22px; width: min(430px, calc(100vw - 28px)); display: grid; grid-template-columns: 42px 1fr 30px; gap: 12px; align-items: start; padding: 17px; border-radius: 14px; color: #fff; background: #1d513c; box-shadow: 0 18px 60px rgba(0,0,0,.28); animation: hagl-toast-in .24s ease-out; }
.hagl-form-toast.is-error { background: #842d26; }
.hagl-form-toast__icon { display: grid; place-items: center; width: 38px; height: 38px; border: 2px solid rgba(255,255,255,.72); border-radius: 50%; font-size: 1.2rem; font-weight: 900; }
.hagl-form-toast strong { display: block; margin: 1px 0 4px; color: #fff; font-size: 1rem; }
.hagl-form-toast p { margin: 0; color: rgba(255,255,255,.86); font-size: .83rem; line-height: 1.45; }
.hagl-form-toast__close { min-width: 30px; min-height: 30px; padding: 0; border: 0; border-radius: 50%; color: #fff; background: rgba(255,255,255,.12); cursor: pointer; font-size: 1.3rem; line-height: 1; }
.hagl-form-toast__close:hover, .hagl-form-toast__close:focus-visible { background: rgba(255,255,255,.25); }
@keyframes hagl-toast-in { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: translateY(0); } }
.hagl-package-picker { margin: 0 0 22px; padding: 20px; border: 1px solid rgba(23,20,15,.14); border-radius: 16px; background: #f5efe2; }
.hagl-package-options { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 12px 0; }
.hagl-package-options button { padding: 11px 8px; border: 1px solid rgba(23,20,15,.15); border-radius: 10px; background: #fff; font-weight: 850; }
.hagl-package-options button.is-active { color: #fff; background: #254b3a; border-color: #254b3a; }
.hagl-package-options small { display: block; margin-top: 3px; font-size: .67rem; font-weight: 500; opacity: .72; }
.hagl-package-picker p { margin: 10px 0 4px; color: #695f52; font-size: .8rem; }
.hagl-subscribe-link { font-size: .84rem; font-weight: 800; }
.hagl-product-facts { clear: both; padding-top: 42px; }
.hagl-product-facts h2 { font: 600 2rem var(--font-serif, "Times New Roman", serif); }
.hagl-product-facts dl { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid rgba(23,20,15,.14); border-radius: 16px; overflow: hidden; }
.hagl-product-facts dl div { padding: 18px; border-right: 1px solid rgba(23,20,15,.12); border-bottom: 1px solid rgba(23,20,15,.12); }
.hagl-product-facts dt { color: #776d60; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.hagl-product-facts dd { margin: 4px 0 0; font-weight: 750; }
.hagl-catalog { max-width: 1200px; }
.hagl-catalog-toolbar { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 12px; margin-bottom: 26px; padding: 18px; border-radius: 16px; background: #f5efe2; }
.hagl-catalog-toolbar label { font-size: .76rem; font-weight: 850; }
.hagl-empty { padding: 35px; text-align: center; background: #f5efe2; border-radius: 16px; }
.hagl-subscription-manage { margin: 0 0 34px; padding: clamp(24px, 5vw, 44px); border: 1px solid rgba(23,20,15,.14); border-radius: 22px; background: #f5efe2; }
.hagl-subscription-manage h2 { margin-top: 0; font-family: var(--font-serif, serif); }
.hagl-subscription-manage textarea { width: 100%; padding: 12px; border: 1px solid rgba(23,20,15,.18); border-radius: 10px; }
.hagl-manage-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; }
.hagl-cookie { position: fixed; left: 50%; bottom: 20px; z-index: 100; width: min(720px, calc(100vw - 28px)); display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; color: #fff; background: #153328; box-shadow: 0 20px 70px rgba(0,0,0,.28); transform: translateX(-50%); }
.hagl-cookie[hidden] { display: none; }
.hagl-cookie p { margin: 0; color: rgba(255,255,255,.82); font-size: .82rem; }
.hagl-cookie a { color: #fff; text-decoration: underline; }
.hagl-cookie > div { display: flex; flex: 0 0 auto; gap: 8px; }
.hagl-cookie .button { min-height: 42px; padding-inline: 15px; font-size: .75rem; }
@media (max-width: 760px) { .hagl-form-shell, .hagl-form-grid, .hagl-catalog-toolbar, .hagl-product-facts dl { grid-template-columns: 1fr; } .hagl-span-2 { grid-column: auto; } .hagl-package-options { grid-template-columns: 1fr 1fr; } .hagl-cookie { align-items: stretch; flex-direction: column; } .hagl-cookie > div { flex-wrap: wrap; } .hagl-form-toast { top: 12px; right: 14px; } }
@media (prefers-reduced-motion: reduce) { .hagl-form-toast { animation: none; } }
