/*
Theme Name: Adria Moving
Theme URI: https://adriamoving.com/
Author: Adria Moving
Description: Standalone theme for adriamoving.com. Harbour Soft palette, sticky header, semantic am-* classes. All presentation lives here; page content carries no styles.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: adria-moving
*/

/* ===== Harbour Soft design tokens ===== */
:root{
  --am-brand:#1C3A5B; --am-brand-deep:#122739; --am-accent:#BE7340; --am-accent-ink:#fff;
  --am-ink:#18222D; --am-muted:#5E6C7A; --am-paper:#F3F6F8; --am-surface:#fff;
  --am-line:#DBE2E8; --am-line-soft:#EAEFF3; --am-on-brand:#E8EEF4; --am-on-brand-dim:#AFBFCD;
  --am-radius:14px; --am-wrap:1140px;
  --am-display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --am-body:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --am-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --am-brand:#27486B; --am-brand-deep:#0C151E; --am-accent:#D08E5C; --am-accent-ink:#1C0F05;
  --am-ink:#E4EAF0; --am-muted:#94A3B1; --am-paper:#0D141B; --am-surface:#161F28;
  --am-line:#273540; --am-line-soft:#1C262F; color-scheme:dark; }}
:root[data-theme="dark"]{
  --am-brand:#27486B; --am-brand-deep:#0C151E; --am-accent:#D08E5C; --am-accent-ink:#1C0F05;
  --am-ink:#E4EAF0; --am-muted:#94A3B1; --am-paper:#0D141B; --am-surface:#161F28;
  --am-line:#273540; --am-line-soft:#1C262F; color-scheme:dark; }

*{box-sizing:border-box}
body{margin:0;background:var(--am-paper);color:var(--am-ink);font-family:var(--am-body);font-size:17px;line-height:1.62}
h1,h2,h3{font-family:var(--am-display);line-height:1.15;text-wrap:balance;letter-spacing:-.02em;margin:0 0 .5em}
h1{font-size:clamp(1.9rem,1.2rem+2.4vw,2.9rem);font-weight:800}
h2{font-size:clamp(1.4rem,1rem+1.4vw,2.1rem);font-weight:700}
h3{font-size:1.12rem;font-weight:700}
p{margin:0 0 1em;max-width:72ch}
a{color:var(--am-accent)}
img{max-width:100%;height:auto;display:block}

/* ===== Class vocabulary ===== */
.am-wrap{width:100%;max-width:var(--am-wrap);margin-inline:auto;padding-inline:20px}
.am-band{padding-block:clamp(40px,5vw,72px);background:var(--am-paper)}
.am-band--alt{background:var(--am-surface);border-block:1px solid var(--am-line-soft)}
.am-band--dark{background:linear-gradient(135deg,var(--am-brand),var(--am-brand-deep));color:var(--am-on-brand)}
.am-band--dark h2{color:#fff}.am-band--dark p{color:var(--am-on-brand-dim)}
.am-hero{background:linear-gradient(160deg,var(--am-brand),var(--am-brand-deep));color:var(--am-on-brand);padding-block:clamp(44px,5vw,70px)}
.am-hero h1{color:#fff}.am-hero p{color:var(--am-on-brand-dim);font-size:1.08rem}
.am-lede{color:var(--am-muted);font-size:1.05rem}
.am-grid{display:grid;gap:18px;margin-block:22px}
.am-grid--2{grid-template-columns:repeat(2,1fr)}
.am-grid--3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.am-grid--3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.am-grid--2,.am-grid--3{grid-template-columns:1fr}}
.am-card{background:var(--am-surface);border:1px solid var(--am-line);border-radius:var(--am-radius);padding:22px;min-width:0}
.am-band--alt .am-card{background:var(--am-paper)}
.am-card h3{margin-bottom:.35em}
.am-card p{color:var(--am-muted);font-size:.97rem;margin-bottom:0}
.am-steps{counter-reset:s;list-style:none;padding:0;margin:22px 0 0;display:grid;gap:14px}
.am-steps li{position:relative;padding-left:44px;color:var(--am-muted)}
.am-steps li::before{counter-increment:s;content:counter(s,decimal-leading-zero);position:absolute;left:0;top:0;
  width:30px;height:30px;border-radius:50%;background:var(--am-brand);color:#fff;font-family:var(--am-mono);font-size:.72rem;
  display:flex;align-items:center;justify-content:center}
.am-table{overflow-x:auto;border:1px solid var(--am-line);border-radius:var(--am-radius);background:var(--am-surface);margin-block:20px}
.am-table table{border-collapse:collapse;width:100%;min-width:620px;font-size:.95rem}
.am-table th{background:var(--am-brand);color:#fff;text-align:left;padding:12px 16px;font-family:var(--am-mono);
  font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;font-weight:500}
.am-table td{padding:12px 16px;border-top:1px solid var(--am-line-soft);vertical-align:top}
.am-table tbody tr:nth-child(even){background:var(--am-paper)}
.am-note{border-left:3px solid var(--am-accent);background:color-mix(in srgb,var(--am-accent) 8%,var(--am-surface));
  padding:14px 18px;border-radius:0 10px 10px 0;color:var(--am-ink)}
.am-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.am-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--am-display);font-weight:600;font-size:.98rem;
  padding:14px 22px;border-radius:10px;text-decoration:none;border:1px solid transparent}
.am-btn--primary{background:var(--am-accent);color:var(--am-accent-ink)}
.am-btn--ghost{background:transparent;color:inherit;border-color:currentColor}
.am-ticks{list-style:none;padding:0;margin:16px 0;display:grid;gap:10px}
.am-ticks li{position:relative;padding-left:28px;color:var(--am-muted)}
.am-ticks li::before{content:"";position:absolute;left:4px;top:.55em;width:9px;height:9px;border-radius:2px;background:var(--am-accent)}
.am-chips{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.am-chip{font-family:var(--am-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;
  padding:6px 11px;border:1px solid var(--am-line);border-radius:999px;color:var(--am-muted)}
.am-shot{margin:20px 0;border-radius:var(--am-radius);overflow:hidden;border:1px solid var(--am-line)}
section ul:not([class]){color:var(--am-muted)}
section ul:not([class]) li{margin-bottom:.4em}



/* Photography: native 3:2 ratio, never cropped. */
.am-shot{margin:0}
.am-shot img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--am-radius);display:block}
.am-shot figcaption{font-family:var(--am-mono);font-size:.72rem;letter-spacing:.05em;color:var(--am-muted);margin-top:8px}
.am-hero--photo{position:relative;isolation:isolate}
.am-hero--photo::before{content:"";position:absolute;inset:0;z-index:-2;
  background:var(--hero-img) center/cover no-repeat}
.am-hero--photo::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,var(--am-brand-deep) 18%,color-mix(in srgb,var(--am-brand) 72%,transparent) 65%,transparent)}

/* ===== Header: sticky on every page ===== */
.am-header{
  position:sticky; top:0; z-index:40;
  background:color-mix(in srgb,var(--am-brand-deep) 95%,transparent);
  backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid rgba(255,255,255,.12);
  color:var(--am-on-brand);
}
/* The WordPress admin bar must not cover the sticky header. */
body.admin-bar .am-header{top:32px}
@media screen and (max-width:782px){body.admin-bar .am-header{top:46px}}

.am-header__in{display:flex;align-items:center;gap:16px;height:64px;
  width:100%;max-width:var(--am-wrap);margin-inline:auto;padding-inline:20px}
.am-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--am-on-brand);flex:none}
.am-logo svg{width:30px;height:30px;flex:none}
.am-logo__txt{font-family:var(--am-display);font-weight:800;letter-spacing:-.025em;font-size:1.1rem;line-height:1}
.am-logo__sub{display:block;font-family:var(--am-mono);font-size:.55rem;letter-spacing:.2em;
  color:var(--am-on-brand-dim);font-weight:400;margin-top:3px}
.am-nav{display:flex;gap:2px;margin-left:6px}
.am-nav a{text-decoration:none;font-size:.93rem;padding:8px 11px;border-radius:8px;
  color:var(--am-on-brand);opacity:.86;white-space:nowrap}
.am-nav a:hover{opacity:1;background:rgba(255,255,255,.1)}
.am-header__right{margin-left:auto;display:flex;align-items:center;gap:12px}
.am-tel{font-family:var(--am-mono);font-size:.86rem;color:var(--am-on-brand);text-decoration:none;
  display:flex;align-items:center;gap:7px;white-space:nowrap}
.am-tel:hover{text-decoration:underline}
.am-header .am-btn{padding:10px 17px;font-size:.9rem}
.am-burger{display:none;background:none;border:1px solid rgba(255,255,255,.3);color:var(--am-on-brand);
  border-radius:8px;padding:8px 10px;cursor:pointer}
@media (max-width:980px){
  .am-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--am-brand-deep);
    flex-direction:column;padding:10px 16px 18px;gap:2px;border-bottom:1px solid rgba(255,255,255,.14)}
  .am-nav.is-open{display:flex}
  .am-burger{display:inline-flex}
  .am-tel span{display:none}
}
@media (max-width:620px){.am-header__right .am-btn{display:none}}

/* Mobile bottom bar: the header is narrow there, so its button moves down here. */
.am-mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:50;gap:8px;
  background:color-mix(in srgb,var(--am-surface) 96%,transparent);
  border-top:1px solid var(--am-line);backdrop-filter:blur(10px);
  padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}
.am-mbar .am-btn{flex:1;justify-content:center;padding:12px 10px;font-size:.88rem}
@media (max-width:720px){.am-mbar{display:flex} body{padding-bottom:76px}}

/* ===== Footer ===== */
.am-footer{background:var(--am-brand-deep);color:var(--am-on-brand-dim);padding-block:44px 28px;font-size:.93rem}
.am-footer a{color:var(--am-on-brand-dim);text-decoration:none}
.am-footer a:hover{color:#fff;text-decoration:underline}
.am-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:28px}
@media(max-width:760px){.am-footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.am-footer__grid{grid-template-columns:1fr}}
.am-footer__name{font-family:var(--am-display);font-weight:800;color:#fff;font-size:1.05rem;margin-bottom:.4em}
.am-footer h4{color:#fff;font-family:var(--am-mono);font-size:.74rem;letter-spacing:.12em;
  text-transform:uppercase;font-weight:500;margin:0 0 12px}
.am-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.am-footer__nav{display:grid;gap:7px}
.am-legal{margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);
  font-family:var(--am-mono);font-size:.72rem;line-height:1.9;letter-spacing:.03em}

/* ===== Utilities ===== */
.am-skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--am-accent);
  color:var(--am-accent-ink);padding:12px 18px;border-radius:0 0 10px 0;font-family:var(--am-display);font-weight:600}
.am-skip:focus{left:0}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
:where(a,button,input,select,summary):focus-visible{outline:2px solid var(--am-accent);outline-offset:3px;border-radius:6px}

.am-search{display:flex;gap:10px;margin:18px 0;flex-wrap:wrap}
.am-search input{flex:1 1 220px;min-width:0;padding:12px 14px;border:1px solid var(--am-line);
  border-radius:10px;background:var(--am-surface);color:var(--am-ink);font:inherit}
.am-pager{margin-top:28px;font-family:var(--am-mono);font-size:.86rem}
.am-pager .page-numbers{padding:8px 12px;border:1px solid var(--am-line);border-radius:8px;
  text-decoration:none;color:var(--am-ink);margin-right:6px;display:inline-block}
.am-pager .current{background:var(--am-brand);color:#fff;border-color:transparent}

/* ===== WordPress core classes ===== */
.alignleft{float:left;margin:0 20px 16px 0}
.alignright{float:right;margin:0 0 16px 20px}
.aligncenter{margin-inline:auto;display:block}
.wp-caption{max-width:100%}
.wp-caption-text,figcaption{font-family:var(--am-mono);font-size:.72rem;color:var(--am-muted);margin-top:8px}
blockquote{border-left:3px solid var(--am-accent);margin:20px 0;padding:4px 0 4px 18px;color:var(--am-muted)}

/* ===== Print ===== */
@media print{
  .am-header,.am-mbar,.am-footer,.am-skip{display:none!important}
  body{background:#fff;color:#000;font-size:11pt}
  .am-band{padding-block:12px;background:#fff}
}

/* A standalone photo in the text does not span the full band; a missing image
   shows as a quiet placeholder instead of a half-screen hole. */
.am-wrap > .am-shot,
.am-wrap > p > .am-shot{max-width:680px}
.am-shot img{background:var(--am-line-soft)}
.am-grid .am-shot{max-width:none}

/* Grid children must not stretch the grid: a long word, a table or a nested block
   has to shrink inside its own column. */
.am-grid > *{min-width:0;max-width:100%}
.am-card > *{min-width:0;max-width:100%}
.am-card table{display:block;overflow-x:auto}

/* ===== Front page ===== */
.am-wrap--narrow{max-width:840px}
.am-small{color:var(--am-muted);font-size:.88rem;margin:0}
.am-num{font-family:var(--am-mono);font-variant-numeric:tabular-nums;white-space:nowrap}

/* Hero: copy left, visual right */
.am-hero--split .am-hero__in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:44px;align-items:center}
@media(max-width:900px){.am-hero--split .am-hero__in{grid-template-columns:1fr;gap:30px}}
.am-hero__copy{min-width:0}
.am-hero__sub{font-size:clamp(1.05rem,.95rem + .5vw,1.3rem);color:var(--am-on-brand);max-width:46ch}
.am-hero__text{color:var(--am-on-brand-dim);max-width:52ch}
.am-hero__note{color:var(--am-on-brand-dim);font-size:.9rem;max-width:56ch;margin-top:18px}
.am-hero__visual{margin:0;min-width:0}
.am-hero__visual img{width:100%;height:auto;border-radius:var(--am-radius);
  border:1px solid rgba(255,255,255,.22);box-shadow:0 24px 60px rgba(0,0,0,.34);background:rgba(255,255,255,.06)}
.am-hero .am-cta{margin-block:26px 20px}
.am-hero .am-ticks li{color:var(--am-on-brand)}
.am-hero .am-ticks li::before{background:var(--am-accent)}
.am-hero .am-chip{border-color:rgba(255,255,255,.26);color:var(--am-on-brand-dim)}

/* Inline tick row inside the hero */
.am-ticks--inline{display:flex;flex-wrap:wrap;gap:8px 22px}
.am-ticks--inline li{margin:0}

/* Facts list */
.am-facts{margin:24px 0 0;background:var(--am-surface);border:1px solid var(--am-line);
  border-radius:var(--am-radius);padding:4px 22px}
.am-fact{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;
  padding:16px 0;border-bottom:1px solid var(--am-line-soft)}
.am-fact:last-child{border-bottom:0}
@media(max-width:700px){.am-fact{grid-template-columns:1fr;gap:4px}}
.am-fact dt{font-family:var(--am-display);font-weight:600;color:var(--am-ink)}
.am-fact dd{margin:0;color:var(--am-muted)}

/* Badges and highlighted cards */
.am-badge{display:inline-block;margin:0 0 10px;padding:6px 11px;border-radius:999px;
  font-family:var(--am-mono);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;
  background:var(--am-paper);border:1px solid var(--am-line);color:var(--am-muted)}
.am-badge--accent{background:var(--am-accent);border-color:transparent;color:var(--am-accent-ink)}
.am-card--highlight{border-color:var(--am-accent)}

/* Reviews */
.am-quote blockquote{margin:0;border:0;padding:0;color:var(--am-ink)}
.am-quote blockquote p::before{content:"\201C"}
.am-quote blockquote p::after{content:"\201D"}
.am-quote figcaption{margin-top:auto;padding-top:14px;border-top:1px solid var(--am-line-soft);
  font-family:var(--am-body);font-size:.88rem;color:var(--am-muted)}
.am-quote figcaption strong{display:block;color:var(--am-ink);font-size:.95rem}

/* FAQ accordion */
.am-faq{margin-top:24px;border:1px solid var(--am-line);border-radius:var(--am-radius);
  overflow:hidden;background:var(--am-surface)}
.am-faq details{border-bottom:1px solid var(--am-line-soft)}
.am-faq details:last-child{border-bottom:0}
.am-faq summary{cursor:pointer;list-style:none;padding:17px 56px 17px 20px;position:relative;
  font-family:var(--am-display);font-weight:600;color:var(--am-ink)}
.am-faq summary::-webkit-details-marker{display:none}
.am-faq summary::after{content:"+";position:absolute;right:20px;top:15px;
  font-family:var(--am-mono);font-size:1.3rem;color:var(--am-accent)}
.am-faq details[open] summary::after{content:"\2212"}
.am-faq details p{padding:0 20px 18px;color:var(--am-muted);max-width:76ch;margin:0}

/* Final band */
.am-final{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:34px;align-items:center}
@media(max-width:820px){.am-final{grid-template-columns:1fr}}
.am-final .am-cta{flex-direction:column;align-items:stretch}
.am-btn--onbrand{background:rgba(255,255,255,.1);color:var(--am-on-brand);
  border-color:rgba(255,255,255,.3)}
.am-btn--onbrand:hover{background:rgba(255,255,255,.18)}
.am-btn--outline{background:var(--am-surface);color:var(--am-ink);border-color:var(--am-line)}

/* Tables collapse into cards on phones */
@media(max-width:720px){
  .am-table table{min-width:0}
  .am-table thead{display:none}
  .am-table table,.am-table tbody,.am-table tr,.am-table td{display:block;width:100%}
  .am-table{overflow-x:visible}
  .am-table tr{width:auto;border:1px solid var(--am-line);border-radius:12px;
    margin:12px;background:var(--am-surface)}
  .am-table td{display:grid;grid-template-columns:118px minmax(0,1fr);gap:10px;
    padding:11px 14px;border-top:0;border-bottom:1px dashed var(--am-line-soft)}
  .am-table td:last-child{border-bottom:0}
  .am-table td::before{content:attr(data-label);font-family:var(--am-mono);font-size:.68rem;
    letter-spacing:.07em;text-transform:uppercase;color:var(--am-muted)}
  .am-table tbody tr:nth-child(even){background:var(--am-surface)}
}
