﻿/* Contact page and the fine print pages: privacy, refund and conditions of supply.
   Rules transcribed byte exact from design-full-reference.css lines 240 to 267
   (contact) and 276 to 297 (policy). Tokens, buttons and the wrap come from
   TheSourceTheme.css, loaded by the master. Linked by ContactUsRetail.aspx,
   PrivacyPolicy.aspx, RefundPolicy.aspx and ConditionsOfSupply.aspx. */

.ct-wrap{max-width:1280px;margin:0 auto;padding:0 5%}
.ct-hero{background:var(--primary);padding:4.5rem 0 4rem}
.ct-eyebrow{display:block;font-size:0.72rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--accent);margin-bottom:1.1rem}
.ct-hero h1{font-size:clamp(2.4rem,5vw,3.6rem);font-weight:800;color:#fff;letter-spacing:-0.03em;margin:0 0 1.2rem}
.ct-lede{font-size:1.02rem;color:rgba(255,255,255,0.75);line-height:1.65;max-width:460px;margin:0}
.ct-body{padding:4.5rem 0 5.5rem}
.ct-cols{display:grid;grid-template-columns:1.5fr 1fr;gap:4rem;align-items:start}
.ct-h2{font-size:1.35rem;font-weight:700;letter-spacing:-0.015em;color:var(--primary);margin:0 0 1.8rem}
.ct-form{display:flex;flex-direction:column;gap:1.3rem;align-items:flex-start}
.ct-row2{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;width:100%}
.ct-form label{display:flex;flex-direction:column;gap:0.45rem;width:100%;font-size:0.85rem;font-weight:600;color:var(--primary)}
.ct-form label em{display:inline;font-style:normal;color:var(--accent)}
.ct-form input,.ct-form textarea{font:inherit;font-size:0.92rem;color:var(--primary);background:#fff;border:1px solid #d8d2c4;border-radius:3px;padding:0.7rem 0.85rem;outline:none;width:100%}
.ct-form input:focus,.ct-form textarea:focus{border-color:var(--accent)}
.ct-form textarea{resize:vertical}
.ct-form button{border:none;cursor:pointer;font:inherit;font-weight:600;margin-top:0.3rem}
.ct-card{border:1px solid #E0DBCF;background:#fff;border-radius:3px;padding:1.8rem;margin-bottom:1.4rem}
.ct-card p{font-size:0.9rem;color:var(--slate,#4A5463);line-height:1.6;margin:0 0 1rem}
.ct-card-navy{background:var(--primary);border-color:var(--primary)}
.ct-card-eyebrow{font-size:0.72rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--accent);margin:0 0 1.4rem}
.ct-detail{margin-bottom:1.2rem}
.ct-detail:last-child{margin-bottom:0}
.ct-detail span{display:block;font-size:0.68rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.5);margin-bottom:0.3rem}
.ct-detail a,.ct-detail strong{color:#fff;font-weight:700;font-size:1rem;text-decoration:none;line-height:1.5}
.ct-quote-h{font-size:1.05rem;font-weight:700;color:var(--primary);margin:0 0 0.6rem}
.ct-arrow{font-size:0.9rem;font-weight:600;color:var(--accent);text-decoration:none}
.ct-arrow:hover{text-decoration:underline}
@media (max-width:900px){.ct-cols{grid-template-columns:1fr}.ct-row2{grid-template-columns:1fr}}

/* Policy pages */
.pol-body{padding:4.5rem 0 5.5rem}
.pol-wrap{max-width:1180px;margin:0 auto;padding:0 5%}
.pol-wrap>p{font-size:0.95rem;color:var(--slate,#4A5463);line-height:1.7;margin:3rem 0 0;max-width:760px}
.pol-sec{display:grid;grid-template-columns:300px 1fr;gap:1rem 4.5rem;align-items:start;border-top:1px solid #E0DBCF;padding-top:2.2rem;margin-bottom:2.6rem}
.pol-sec:first-child{border-top:none;padding-top:0}
.pol-sec:last-child{margin-bottom:0}
.pol-sec h2{font-size:1.35rem;font-weight:700;letter-spacing:-0.015em;color:var(--primary);margin:0}
.pol-sec>*:not(h2){grid-column:2}
.pol-sec h2+p,.pol-sec h2+ul{margin-top:0.2rem}
.pol-sec p{font-size:0.95rem;color:var(--slate,#4A5463);line-height:1.7;margin:0 0 1rem;max-width:72ch}
.pol-sec p:last-child{margin-bottom:0}
.pol-sec p strong,.pol-list strong{color:var(--primary)}
.pol-sec a{color:var(--accent);font-weight:600;text-decoration:none}
.pol-sec a:hover{text-decoration:underline}
.pol-list{list-style:none;margin:0.2rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2.5rem}
.pol-list li{position:relative;padding-left:1.4rem}
.pol-list li::before{content:"";position:absolute;left:0;top:0.5em;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.pol-list li>strong{display:block;font-size:0.95rem;color:var(--primary);margin-bottom:0.35rem}
.pol-list li p{margin:0}
.pol-plain li{font-size:0.95rem;color:var(--slate,#4A5463);line-height:1.7}
.pol-plain li::before{top:0.65em}
@media (max-width:900px){.pol-sec{grid-template-columns:1fr;gap:1rem}.pol-sec>*:not(h2){grid-column:1}.pol-list{grid-template-columns:1fr}}

/* Neutralise bootstrap's a:hover underline and colour where the design sets its
   own. The design has no bootstrap, so it never needed these. */
.ct-detail a:hover{color:#fff;text-decoration:none}
.ct-card p a:hover{text-decoration:underline}

/* Our addition: the enquiry error line and thanks panel, as on the home page form. */
.ct-form[hidden]{display:none} /* the class's display:flex would otherwise beat the hidden attribute */
.ct-error{font-size:0.85rem;color:var(--accent);margin:0;max-width:none}
.ct-thanks h3{font-size:1.35rem;font-weight:700;color:var(--primary);margin:0 0 0.6rem}
.ct-thanks p{font-size:0.95rem;color:var(--slate,#4A5463);line-height:1.7;margin:0}
