/*
Theme Name: Contralinque Glass
Theme URI: https://contralinque.example/
Author: Contralinque
Description: A flexible full-site-editing WordPress theme for Contralinque. Built around four public pages: Welcome, Programs, Corporate, and Connect. Uses restrained skeuomorphism and glassmorphism with editable block patterns.
Version: 1.0.4
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: contralinque-glass
Tags: full-site-editing, block-patterns, custom-logo, education, one-column
*/

:root {
  --cq-rose: #a84058;
  --cq-rose-dark: #7a2539;
  --cq-ink: #171719;
  --cq-paper: #f5f2ef;
  --cq-paper-2: #ebe6e1;
  --cq-white: #ffffff;
  --cq-muted: #6e6b70;
  --cq-border: rgba(23, 23, 25, .12);
  --cq-glass: rgba(255,255,255,.62);
  --cq-shadow: 0 24px 80px rgba(36, 24, 29, .12);
  --cq-inset: inset 0 1px 0 rgba(255,255,255,.8), inset 0 -1px 0 rgba(23,23,25,.06);
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }

a { text-underline-offset: .18em; }

.wp-site-blocks {
  background:
    radial-gradient(circle at 85% 8%, rgba(168,64,88,.13), transparent 26rem),
    radial-gradient(circle at 10% 38%, rgba(168,64,88,.06), transparent 30rem),
    var(--cq-paper);
}

.cq-shell {
  width: min(1180px, calc(100% - 32px));
  margin-inline: auto;
}

.cq-glass,
.glass-panel {
  background: var(--cq-glass);
  border: 1px solid rgba(255,255,255,.72);
  box-shadow: var(--cq-shadow), var(--cq-inset);
  backdrop-filter: blur(20px) saturate(130%);
  -webkit-backdrop-filter: blur(20px) saturate(130%);
  border-radius: 28px;
}

.cq-skeuo,
.skeuo-card {
  background: linear-gradient(145deg, #fbf8f5, #e8e2dd);
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 24px;
  box-shadow:
    14px 14px 34px rgba(50, 38, 42, .10),
    -12px -12px 28px rgba(255,255,255,.9),
    inset 0 1px 0 rgba(255,255,255,.8);
}

.cq-pill {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .5rem .78rem;
  border-radius: 999px;
  border: 1px solid rgba(168,64,88,.18);
  background: rgba(255,255,255,.55);
  color: var(--cq-rose-dark);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 8px 22px rgba(36,24,29,.06);
}

.cq-card-grid .wp-block-column {
  transition: transform .22s ease, box-shadow .22s ease;
}
.cq-card-grid .wp-block-column:hover {
  transform: translateY(-4px);
}

.cq-number {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: linear-gradient(145deg, #b74c66, #8d3148);
  color: white;
  box-shadow: 0 10px 24px rgba(122,37,57,.22), inset 0 1px 0 rgba(255,255,255,.3);
  font-weight: 700;
}

.cq-soft-rule {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(23,23,25,.18), transparent);
}

.cq-hero-visual {
  min-height: 460px;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 60% 25%, rgba(255,255,255,.9), transparent 28%),
    linear-gradient(150deg, rgba(168,64,88,.18), rgba(255,255,255,.48) 48%, rgba(23,23,25,.04));
}
.cq-hero-visual:before,
.cq-hero-visual:after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(168,64,88,.22);
  box-shadow: inset 0 0 50px rgba(255,255,255,.7);
}
.cq-hero-visual:before { width: 280px; height: 280px; right: -65px; top: 28px; }
.cq-hero-visual:after { width: 210px; height: 210px; left: 48px; bottom: -70px; }

.cq-hero-visual .wp-block-image img {
  filter: drop-shadow(0 26px 38px rgba(34,25,28,.16));
}

.cq-nav-shell {
  position: sticky;
  top: 12px;
  z-index: 999;
  margin-top: 12px;
}
.admin-bar .cq-nav-shell { top: 44px; }

.cq-nav-shell > .wp-block-group {
  background: rgba(245,242,239,.75);
  border: 1px solid rgba(255,255,255,.84);
  box-shadow: 0 14px 50px rgba(35,25,29,.09), inset 0 1px 0 rgba(255,255,255,.75);
  backdrop-filter: blur(18px) saturate(125%);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
  border-radius: 22px;
}

.wp-block-navigation a { text-decoration: none; }
.wp-block-navigation a:hover { color: var(--cq-rose); }

.cq-footer {
  background: #171719;
  color: #f6f2ef;
  border-radius: 36px 36px 0 0;
}

.cq-assessment {
  background:
    linear-gradient(135deg, rgba(255,255,255,.78), rgba(255,255,255,.44)),
    radial-gradient(circle at 90% 20%, rgba(168,64,88,.22), transparent 24rem);
}

.cq-input-note {
  color: var(--cq-muted);
  font-size: .92rem;
}

@media (max-width: 782px) {
  .cq-nav-shell { top: 8px; }
  .admin-bar .cq-nav-shell { top: 54px; }
  .cq-glass, .glass-panel { border-radius: 22px; }
  .cq-hero-visual { min-height: 330px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Reliable layouts for theme pattern cards and assessment forms. */
.cq-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:24px; }
.cq-card-grid > .wp-block-column { min-width:0; margin:0; box-sizing:border-box; }
.wp-block-buttons { display:flex; flex-wrap:wrap; gap:12px; }
.wp-block-buttons.is-content-justification-center { justify-content:center; }
#assessment { scroll-margin-top:120px; }
#assessment .fluentform { margin-top:28px; }
#assessment .ff-el-form-control { border:1px solid rgba(23,23,25,.18); border-radius:12px; padding:12px 14px; background:rgba(255,255,255,.85); }
#assessment .ff-btn-submit { background:#a84058; color:#fff; border-radius:12px; padding:14px 24px; font-weight:600; }
#assessment .ff-btn-submit:hover { background:#7a2539; }
@media(max-width:782px) { .cq-card-grid { grid-template-columns:1fr; } .cq-nav-shell .wp-block-site-title { display:none; } .cq-nav-shell .wp-block-button__link { padding:10px 12px; } #assessment { padding:28px 20px !important; } }

/* Keep the assessment link visible and allow the mobile menu to cover the viewport. */
header.wp-block-template-part { position:sticky; top:12px; z-index:1000; }
.admin-bar header.wp-block-template-part { top:44px; }
header.wp-block-template-part .cq-nav-shell { position:static; width:min(1180px,calc(100% - 32px)); margin:12px auto 0; }
.cq-nav-shell > .wp-block-group:has(.is-menu-open) { backdrop-filter:none; -webkit-backdrop-filter:none; }
.wp-site-blocks > .wp-block-group:not(.cq-footer) { box-sizing:border-box; padding-left:20px; padding-right:20px; }
.cq-card-grid { gap:24px !important; }
@media(max-width:782px) { .admin-bar header.wp-block-template-part { top:54px; } header.wp-block-template-part { top:8px; } .wp-block-navigation__responsive-container.is-menu-open { position:fixed; inset:0; width:100vw; height:100dvh; z-index:100000; } .cq-hero-visual { min-height:280px; } }

.cq-page-photo{width:min(1180px,calc(100% - 40px));margin:24px auto 48px;overflow:hidden;border-radius:28px;box-shadow:var(--cq-shadow);}.cq-page-photo img{display:block;width:100%;height:390px;object-fit:cover;object-position:center 40%;}.cq-contact-links{display:flex;flex-wrap:wrap;gap:16px 28px}.cq-contact-links a{font-weight:600}.cq-home-photo{margin:0;overflow:hidden;border-radius:24px}.cq-home-photo img{display:block;width:100%;height:460px;object-fit:cover;object-position:47% center}@media(max-width:782px){.cq-page-photo img{height:240px}.cq-home-photo img{height:300px}.cq-contact-links{flex-direction:column;gap:16px}}

/* Full-width photography and geometric brand layers. */
.wp-site-blocks{overflow:clip;background:#f5f2ef}.wp-site-blocks>header{margin-bottom:0}.wp-site-blocks>.wp-block-group:not(.cq-footer){position:relative;isolation:isolate}.wp-site-blocks>.wp-block-group:not(.cq-footer)::before{content:"";position:absolute;right:-70px;top:16%;width:240px;height:240px;border:1px solid rgba(168,64,88,.16);border-radius:50%;z-index:-1;pointer-events:none}.wp-site-blocks>.wp-block-group:not(.cq-footer)::after{content:"";position:absolute;left:-75px;bottom:6%;width:180px;height:180px;background:linear-gradient(135deg,rgba(168,64,88,.09),transparent);transform:rotate(35deg);z-index:-1;pointer-events:none}
.wp-site-blocks>.wp-block-group:has(.cq-home-photo){max-width:none!important;width:100%!important;padding:0!important;margin-top:20px!important;background:linear-gradient(90deg,rgba(18,18,23,.93),rgba(18,18,23,.65) 48%,rgba(18,18,23,.12)),url('https://contralinque.com/wp-content/uploads/2026/10/01_home_hero_professional.jpg') center 40%/cover;min-height:650px;display:flex;align-items:center;color:#fff}.wp-site-blocks>.wp-block-group:has(.cq-home-photo)>.wp-block-columns{width:min(1180px,calc(100% - 64px));margin:0 auto;padding:85px 0}.wp-site-blocks>.wp-block-group:has(.cq-home-photo) .wp-block-column:first-child{flex-basis:65%!important;max-width:750px}.wp-site-blocks>.wp-block-group:has(.cq-home-photo) .wp-block-column:last-child{display:none}.wp-site-blocks>.wp-block-group:has(.cq-home-photo) p{color:#eee8e5!important}.wp-site-blocks>.wp-block-group:has(.cq-home-photo) .cq-pill{background:rgba(255,255,255,.13);color:#fff;border-color:rgba(255,255,255,.3)}.wp-site-blocks>.wp-block-group:has(.cq-home-photo) .has-ink-background-color{background:#fff!important;color:#171719!important}.wp-site-blocks>.wp-block-group:has(.cq-home-photo)::before{right:6%;top:12%;width:330px;height:330px;border:1px solid rgba(255,255,255,.45);z-index:0}.wp-site-blocks>.wp-block-group:has(.cq-home-photo)::after{left:auto;right:0;bottom:0;width:38%;height:100%;transform:none;background:linear-gradient(145deg,transparent 45%,rgba(168,64,88,.48));clip-path:polygon(100% 0,100% 100%,0 100%);z-index:0}.wp-site-blocks>.wp-block-group:has(.cq-home-photo)>.wp-block-columns{position:relative;z-index:1}
.cq-page-photo{width:100%!important;max-width:none!important;margin:24px 0 64px!important;border-radius:0;position:relative;isolation:isolate}.cq-page-photo img{height:500px;object-position:center 42%}.cq-page-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(32,22,30,.4),transparent 60%),linear-gradient(0deg,rgba(122,37,57,.28),transparent 60%);pointer-events:none}.cq-page-photo::after{content:"";position:absolute;right:7%;top:12%;width:260px;height:260px;border:1px solid rgba(255,255,255,.8);border-radius:50%;box-shadow:60px 80px 0 -1px rgba(168,64,88,.18);pointer-events:none}.skeuo-card{position:relative;overflow:hidden}.skeuo-card::after{content:"";position:absolute;right:-40px;bottom:-45px;width:110px;height:110px;border:1px solid rgba(168,64,88,.18);transform:rotate(35deg);pointer-events:none}.cq-glass{background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(246,229,235,.65))}.cq-footer{position:relative;overflow:hidden}.cq-footer::after{content:"";position:absolute;right:-90px;bottom:-180px;width:400px;height:400px;border:1px solid rgba(255,255,255,.13);border-radius:50%;pointer-events:none}.cq-contact-links a{padding:12px 18px;border:1px solid rgba(168,64,88,.18);border-radius:12px;background:rgba(255,255,255,.65)}
@media(max-width:782px){.wp-site-blocks>.wp-block-group:has(.cq-home-photo){min-height:640px;background-position:58% center}.wp-site-blocks>.wp-block-group:has(.cq-home-photo)>.wp-block-columns{width:calc(100% - 40px);padding:64px 0}.wp-site-blocks>.wp-block-group:has(.cq-home-photo) .wp-block-column:first-child{max-width:100%;flex-basis:100%!important}.wp-site-blocks>.wp-block-group:has(.cq-home-photo){background-image:linear-gradient(90deg,rgba(18,18,23,.9),rgba(18,18,23,.6)),url('https://contralinque.com/wp-content/uploads/2026/10/01_home_hero_professional.jpg')}.cq-page-photo img{height:310px}.cq-page-photo::after{width:150px;height:150px;right:-30px}.wp-site-blocks>.wp-block-group:not(.cq-footer)::before{width:160px;height:160px}.cq-contact-links a{overflow-wrap:anywhere}}

.cq-page-photo{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important}
