/*
Theme Name: Glacier Acupuncture
Template: joydea-base
Description: Joydea child theme for glacier.joydea.com. Generated by provision.py; brand values live in the site config.
Version: 1.0.735ce339
Text Domain: joydea-glacier
*/


:root { --gl-navy:#0E3A5C; --gl-navy-dark:#08263D; --gl-teal:#2A9BB0; --gl-teal-dark:#1F7F92; --gl-ice:#EAF4F8; --gl-white:#FFFFFF; --gl-ink:#0F2A40; --gl-muted:#4A6273; --gl-line:rgba(14,58,92,.14); }
body { background: var(--gl-ice); color: var(--gl-ink); -webkit-font-smoothing: antialiased; }
h1,h2,h3,h4 { font-family: var(--wp--preset--font-family--heading); letter-spacing:-.01em; line-height:1.1; color: var(--gl-navy); }
h1 { font-weight:800; } h2 { font-weight:800; } h3 { font-weight:700; }
.gl-h1 { font-size: clamp(2.4rem, 4.6vw, 3.8rem); margin: .3rem 0 1rem; }
.gl-h2 { font-size: clamp(1.9rem, 3vw, 2.6rem); margin: .3rem 0 1rem; }
h3 { font-size: 1.3rem; margin: .5rem 0 .4rem; }
p { line-height: 1.6; }
.gl-eyebrow { font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; margin:0 0 .5rem; }
.gl-lead { font-size: 1.15rem; line-height: 1.6; max-width: 620px; margin: 0 0 1.4rem; }
.gl-section { padding-top: 4.5rem; padding-bottom: 4.5rem; padding-left: var(--wp--style--root--padding-left, 1.5rem) !important; padding-right: var(--wp--style--root--padding-right, 1.5rem) !important; }
.gl-section-tight { padding-top: 3rem; padding-bottom: 3rem; }
.gl-btns { margin-top: 1.2rem; gap: .8rem; }
.wp-element-button, .wp-block-button__link { border-radius: 10px; font-weight: 700; padding: .9rem 1.5rem; font-family: var(--wp--preset--font-family--heading); transition: filter .15s, transform .15s; }
.wp-block-button__link:hover { filter: brightness(1.08); transform: translateY(-1px); }
.is-style-outline .wp-block-button__link { border: 2px solid var(--gl-navy); color: var(--gl-navy); }
.gl-btn-outline-light .wp-block-button__link { border-color: rgba(255,255,255,.8); color: #fff; }
a { color: var(--gl-teal-dark); } a:hover { color: var(--gl-navy); }
/* top bar and header */
.gl-topbar { padding: .45rem var(--wp--style--root--padding-right, 1.5rem) !important; } .gl-topbar p { margin:0; color: #CFE3EF; } .gl-topbar a { color:#fff; font-weight:700; text-decoration:none; }
.gl-header { border-bottom: 1px solid var(--gl-line); position: sticky; top: 0; z-index: 50; padding-left: var(--wp--style--root--padding-left, 1.5rem) !important; padding-right: var(--wp--style--root--padding-right, 1.5rem) !important; }
.gl-site-title { display: none; }
.gl-logo img { height: 64px; width: auto; }
.gl-nav a { font-weight: 600; font-size: .95rem; color: var(--gl-ink); } .gl-nav a:hover { color: var(--gl-teal-dark); }
.gl-navwrap { gap: 1.2rem; } .gl-nav { gap: 1.1rem !important; }
.gl-header-cta .wp-block-button__link { padding: .7rem 1.2rem; }
/* hero */
.gl-hero { padding: 5rem 0 4.5rem; }
.wp-block-cover .wp-block-cover__inner-container { padding-left: var(--wp--style--root--padding-left, 1.5rem) !important; padding-right: var(--wp--style--root--padding-right, 1.5rem) !important; }
.gl-hero h1 { color:#fff; } .gl-hero .gl-lead { color:#CFE3EF; font-size:1.2rem; }
.gl-hero-img img { border-radius: 18px; box-shadow: 0 24px 48px rgba(0,0,0,.35); width:100%; height: 440px; object-fit: cover; }
.gl-pills { margin-top: 1.4rem; gap:.5rem; } .gl-pills .wp-block-button__link { font-size:.82rem; padding:.45rem .9rem; border-radius:999px; background: transparent; border:1px solid rgba(255,255,255,.55); color:#CFE3EF; font-weight:600; }
.gl-page-hero { padding-top: 4rem; padding-bottom: 3.5rem; } .gl-page-hero .wp-block-cover__background { opacity: .88 !important; } .gl-page-hero h1, .gl-page-hero .gl-lead, .gl-page-hero .gl-eyebrow { text-shadow: 0 1px 12px rgba(0,0,0,.35); } .gl-page-hero h1 { color:#fff; } .gl-page-hero .gl-lead { color:#CFE3EF; }
/* cards and tiles */
.gl-quick { padding-top: 2rem; padding-bottom: 2rem; background: var(--gl-ice); }
.gl-card, .gl-tile { border-radius: 14px; padding: 1.5rem 1.6rem; border: 1px solid var(--gl-line); height: 100%; position: relative; }
.gl-card { transition: transform .15s, box-shadow .15s; } .gl-card:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(14,58,92,.10); }
.gl-card-title a, .gl-tile-title a { text-decoration: none; color: var(--gl-navy); }
.gl-card-title a::after { content:""; position:absolute; inset:0; }
.gl-card p, .gl-tile p { margin:0; font-size:.98rem; }
.gl-icon { display:inline-flex; width:52px; height:52px; border-radius:12px; background: var(--gl-ice); color: var(--gl-teal); align-items:center; justify-content:center; margin-bottom:.4rem; }
.gl-icon-sm { width:44px; height:44px; }
.gl-tiles, .gl-cards { gap: 1.2rem; }
.gl-tiles-2 .gl-tile:last-child:nth-child(odd) { grid-column: 1 / -1; }
.gl-tile-img { margin: -1.5rem -1.6rem 1rem; } .gl-tile-img img { display:block; width:100%; height: 200px; object-fit: cover; border-radius: 14px 14px 0 0; }
.gl-tiles-2 .gl-tile:last-child:nth-child(odd) .gl-tile-img img { height: 260px; }
.gl-tile.is-layout-constrained > *, .gl-card.is-layout-constrained > *, .gl-step.is-layout-constrained > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.gl-tiles-4 { gap: 1rem; } .gl-tiles-4 .gl-tile { padding: 1.3rem 1.3rem; } .gl-tiles-4 .gl-tile-img img { height: 150px; }
.gl-hero-copy { max-width: 720px; }
.gl-nav a { white-space: nowrap; }
/* steps */
.gl-steps { gap: 1.4rem; }
.gl-step { border-radius: 16px; padding: 1.6rem; background: var(--gl-white); border: 1px solid var(--gl-line); }
.gl-step-light { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); } .gl-step-light h3 { color:#fff; }
.gl-num { font-family: var(--wp--preset--font-family--heading); font-size: 2.2rem; font-weight: 800; line-height:1; margin:0 0 .4rem; }
/* veterans band, cta */
.gl-vets { padding-top: 5rem; padding-bottom: 5rem; } .gl-vets h2, .gl-vets .gl-h2 { color:#fff; } .gl-vets p { color:#CFE3EF; }
.gl-cta { padding-top: 4rem; padding-bottom: 4rem; text-align:center; } .gl-cta h2 { color:#fff; } .gl-cta .gl-lead { margin-left:auto; margin-right:auto; } .gl-cta .gl-btns { justify-content:center; }
/* about */
.gl-photo-placeholder { border: 2px dashed rgba(14,58,92,.35); border-radius: 18px; aspect-ratio: 4/5; display:flex; align-items:center; justify-content:center; text-align:center; padding: 1.5rem; color: var(--gl-muted); background: var(--gl-white); }
.gl-photo-placeholder p { margin:0; }
.gl-credentials { font-weight:600; color: var(--gl-muted); margin-top:-.6rem; }
/* testimonial: quiet landscape behind the quote */
.gl-section:has(> .gl-quote) { position: relative; overflow: hidden; }
.gl-section:has(> .gl-quote)::before { content:""; position:absolute; inset:0; background: url(/wp-content/uploads/site/river-frozen.jpg) center/cover no-repeat; opacity:.18; }
.gl-section:has(> .gl-quote) > * { position: relative; }
/* image bands inside pages */
.gl-band { gap: 1.2rem; } .gl-band img { display:block; width:100%; height: 300px; object-fit: cover; border-radius: 16px; }
.gl-wide-img img { display:block; width:100%; height: 340px; object-fit: cover; border-radius: 16px; margin-bottom: 1.5rem; }
/* testimonial */
.gl-quote { border: 0; padding: 2.5rem 3rem; background: var(--gl-white); border-radius: 18px; text-align:center; max-width: 820px; margin: 0 auto; }
.gl-quote p { font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.2rem, 2vw, 1.5rem); font-weight:600; line-height:1.4; color: var(--gl-navy); }
.gl-quote cite { font-style: normal; color: var(--gl-muted); }
/* contact with icons */
.gl-ic { position:relative; padding-left: 2.4rem; margin: 0 0 .8rem; } .gl-ic a { font-weight:700; text-decoration:none; color: var(--gl-navy); }
.gl-ic::before { content:""; position:absolute; left:0; top:.1rem; width:1.5rem; height:1.5rem; background-repeat:no-repeat; background-size:contain; }
.gl-ic-phone::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232A9BB0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M5 3h4l2 5-2.5 1.5a11 11 0 0 0 6 6L16 13l5 2v4a2 2 0 0 1-2 2A17 17 0 0 1 3 5a2 2 0 0 1 2-2z'/></svg>"); }
.gl-ic-mail::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232A9BB0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='14' rx='2'/><path d='M3 7l9 6 9-6'/></svg>"); }
.gl-ic-pin::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232A9BB0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s-6-5.5-6-11a6 6 0 0 1 12 0c0 5.5-6 11-6 11z'/><circle cx='12' cy='10' r='2.2'/></svg>"); }
.gl-ic-clock::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232A9BB0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 7v5l3 2'/></svg>"); }
.gl-ic-fax::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232A9BB0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='6' y='3' width='12' height='6' rx='1'/><rect x='3' y='9' width='18' height='9' rx='2'/><path d='M7 18v3h10v-3M8 13h1M12 13h1M16 13h1'/></svg>"); }
.gl-map { height: 340px; border-radius: 18px; background: var(--gl-white); border: 1px solid var(--gl-line); display:flex; align-items:center; justify-content:center; text-align:center; color: var(--gl-muted); overflow:hidden; }
.gl-map iframe { width:100%; height:100%; border:0; }
/* faq */
.gl-faq { border-top: 1px solid var(--gl-line); padding: .9rem 0; } .gl-faq summary { cursor:pointer; font-weight:700; font-size:1.05rem; color: var(--gl-navy); } .gl-faq p { color: var(--gl-muted); }
/* fees */
.gl-fee { display:flex; justify-content:space-between; gap:1.5rem; padding: 1rem 0; border-bottom: 1px solid var(--gl-line); } .gl-fee strong { white-space:nowrap; }
.gl-note { background: var(--gl-white); border-left: 4px solid var(--gl-teal); padding: 1rem 1.2rem; border-radius: 0 12px 12px 0; }
/* footer */
.gl-footer { padding-left: var(--wp--style--root--padding-left, 1.5rem) !important; padding-right: var(--wp--style--root--padding-right, 1.5rem) !important; }
.gl-footer a { color:#fff; } .gl-footer .wp-block-navigation a { color: #E4EEF3; }
.gl-social-eyebrow { margin-top: 1.4rem !important; }
.gl-social { display:flex; flex-wrap:wrap; gap: .6rem 1.2rem; margin-top: .6rem; }
.gl-social-link { display:inline-flex; align-items:center; gap:.55rem; color:#E4EEF3 !important; text-decoration:none; font-weight:600; font-size:.95rem; }
.gl-social-ic { display:inline-flex; align-items:center; justify-content:center; width:2.2rem; height:2.2rem; border-radius:50%; border:1.5px solid rgba(207,227,239,.45); color:#CFE3EF; transition: background .15s, border-color .15s, color .15s; }
.gl-social-link:hover .gl-social-ic { background: var(--gl-teal); border-color: var(--gl-teal); color:#fff; }
.gl-social-link:hover .gl-social-label { text-decoration: underline; }
.gl-footer-contact { line-height: 1.9; }
.gl-footer-contact a[href^="tel:"]::before, .gl-footer-contact a[href^="mailto:"]::before { content:""; display:inline-block; width:1.1em; height:1.1em; margin-right:.5em; vertical-align:-.15em; background-size:contain; background-repeat:no-repeat; }
.gl-footer-contact a[href^="tel:"]::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CFE3EF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M5 3h4l2 5-2.5 1.5a11 11 0 0 0 6 6L16 13l5 2v4a2 2 0 0 1-2 2A17 17 0 0 1 3 5a2 2 0 0 1 2-2z'/></svg>"); }
.gl-footer-contact a[href^="mailto:"]::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CFE3EF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='14' rx='2'/><path d='M3 7l9 6 9-6'/></svg>"); }
/* sticky mobile bar */
.gl-sticky { display:none !important; }
/* blog */
.blog .wp-block-post-title, .archive .wp-block-post-title { font-size: 1.35rem !important; line-height: 1.2; overflow-wrap: normal; word-break: normal; hyphens: manual; }
.blog .wp-block-post-featured-image img, .archive .wp-block-post-featured-image img { border-radius: 12px; }
.wp-block-post-title a { font-family: var(--wp--preset--font-family--heading); text-decoration:none; color: var(--gl-navy); }
.blog main::before { content: "News"; display:block; font-family: var(--wp--preset--font-family--heading); font-size: 2.4rem; font-weight:800; margin-bottom:.5rem; color: var(--gl-navy); }
.single-post .wp-block-post-content { max-width: 720px; margin: 0 auto; font-size: 1.08rem; line-height: 1.75; }
/* forms */
.gl-form .ff-el-group { margin-bottom: .9rem; }
.gl-form input, .gl-form textarea, .gl-form select { border:1px solid var(--gl-line) !important; border-radius: 10px !important; padding: .85rem 1rem !important; background:#fff !important; font-family: inherit !important; }
.gl-form .ff-btn-submit { background: var(--gl-teal) !important; color:#fff !important; border:0 !important; border-radius:10px !important; font-weight:700 !important; padding: .9rem 1.5rem !important; }
@media (max-width: 900px) {
  .gl-hero { padding: 3rem 0 3.5rem; } .gl-hero-img img { height: 300px; }
  .gl-section { padding-top: 3rem; padding-bottom: 3rem; } .gl-topbar-right { display:none; } .gl-topbar-left { font-size:.78rem; } .gl-logo img { height: 52px; }
  .gl-header { position: static; }
  .gl-quote { padding: 1.8rem 1.4rem; }
  .gl-sticky { display:flex !important; position:fixed; left:0; right:0; bottom:0; z-index:60; padding:.6rem .8rem; background: var(--gl-navy-dark); box-shadow: 0 -8px 24px rgba(0,0,0,.25); }
  .gl-sticky .wp-block-button__link { padding:.75rem 1.2rem; font-size:.95rem; }
  body { padding-bottom: 72px; }
}

