/* Styles for inner pages and forms. Loads after site.css and reuses its tokens. */

/* Visually hidden, but still in the DOM for the honeypot field */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Page hero for inner pages */
.ph .wrap{display:block;position:relative;z-index:1;padding-top:46px;padding-bottom:50px}
.ph h1{font:800 clamp(2.3rem,5vw,3.8rem)/1.05 var(--body);color:#fff;letter-spacing:-.01em;margin-top:.2rem}
.ph p{margin-top:1rem;max-width:36rem;color:#f1dce8;font-size:1.02rem}
.ph-tag{display:block;font:400 clamp(2rem,4.4vw,3.2rem)/1 var(--script);color:var(--gold);margin-bottom:.2rem;letter-spacing:0}

.crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:.8rem;color:#ead5e1;margin-bottom:.4rem}
.crumbs a:hover{color:var(--gold)}

.result-count{text-align:center;color:var(--mute);font-weight:600;margin-bottom:1.2rem}
.empty-note{text-align:center;color:var(--mute);padding:20px 0}
.empty-note a{color:var(--maroon);font-weight:700}

/* 404 */
.empty{padding:90px 0;text-align:center}
.empty h1{font:800 2.2rem/1.1 var(--body);color:var(--maroon);margin-bottom:.6rem}
.empty p{color:var(--mute);margin-bottom:1.4rem}

/* Outline button for light backgrounds */
.btn-o{border-color:var(--maroon);color:var(--maroon);background:#fff}
.btn-o:hover{background:var(--maroon);color:#fff}

/* Product detail */
.pd{background:#fff;padding:52px 0 60px;border-bottom:1px solid var(--line)}
.pd-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.pd .pr{box-shadow:0 18px 40px rgba(101,13,38,.16)}
.pd .crumbs{color:var(--mute)}
.pd .crumbs a:hover{color:var(--maroon)}
.pd h1{font:800 clamp(2rem,4vw,3rem)/1.1 var(--body);color:var(--maroon);margin-bottom:.6rem}
.pd .lead{font-size:1.1rem;font-weight:600;color:var(--ink);margin-bottom:.8rem}
.pd .desc{color:var(--mute);margin-bottom:.9rem}
.pd .cta{margin-top:1.4rem}
.pd .fine-print{font-size:.82rem;color:var(--mute);margin-top:1rem}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 1rem}
.tags a{display:inline-block;font-size:.8rem;font-weight:700;padding:.35rem .75rem;border-radius:999px;background:#f6eff3;color:var(--maroon)}
.tags a:hover{background:var(--gold);color:var(--md)}

/* Forms */
.form{display:grid;gap:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:grid;gap:6px;min-width:0}
.field label{font-weight:700;font-size:.9rem;color:var(--maroon)}
.field .opt{font-weight:500;color:var(--mute)}
.field input,.field select,.field textarea{width:100%;min-width:0;font:500 .95rem var(--body);color:var(--ink);background:#fff;border:1.5px solid #d6c4cc;border-radius:6px;padding:.8rem .95rem}
.field input[type=file]{padding:.6rem;background:#faf6f8}
.field textarea{resize:vertical;min-height:140px}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--gold);outline-offset:1px;border-color:var(--maroon)}
.field .err{color:#9b1c1c;font-size:.85rem;font-weight:600}
.alert{padding:14px 18px;border-radius:6px;font-weight:600;margin-bottom:18px}
.alert-error{background:#fbe9ec;color:#7a1025;border:1px solid #efc3cb}

/* Two-column layout for form pages */
.qgrid{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:start}
.qside h2{font:800 1.2rem/1.2 var(--body);color:var(--maroon);margin-bottom:.8rem}
.qside h3{font:700 1rem/1.3 var(--body);color:var(--maroon);margin:1.6rem 0 .4rem}
.qside p{color:var(--mute);font-size:.92rem;line-height:1.6}
.contact-list{list-style:none;padding:0;display:grid;gap:12px}
.contact-list li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.contact-list .ic{color:var(--maroon);margin-top:2px}
.contact-list a:hover{color:var(--ml)}

/* Flash messages shown after a form is sent */
.flash{font-weight:700;text-align:center}
.flash .wrap{padding-top:14px;padding-bottom:14px}
.flash-success{background:var(--gl);color:var(--md)}
.flash-error{background:#fbe9ec;color:#7a1025}

/* Content pages */
.prose{max-width:760px}
.prose h2{font:800 1.5rem/1.2 var(--body);color:var(--maroon);margin:2rem 0 .5rem}
.prose h2:first-child{margin-top:0}
.prose p{margin:.7rem 0;color:var(--ink);line-height:1.7}
.more-cta{margin-top:2rem}

/* Responsive */
@media(max-width:1000px){
  .pd-grid,.qgrid{grid-template-columns:1fr;gap:32px}
}
@media(max-width:560px){
  .form-row{grid-template-columns:1fr}
  .ph .wrap{padding-top:34px;padding-bottom:36px}
  .pd{padding:36px 0 44px}
}
