/* ===========================
   COZEO Contact form pages
   依存: cozeo-common.css(header/footer/breadcrumb)
        cozeo-cart.css(.page-bar / .steps-light)
        cozeo-entry.css(.entry-card / .form-grid / .entry-field / .info-rows / .req / .opt / .info-note)
        cozeo-login.css(.btn-outline)
        cozeo-shopping-complete.css(.success-hero / .check-circle for complete page)
   =========================== */

/* HERO (contact landing) */
.contact-hero{background:#fff;border-bottom:1px solid var(--line);padding:48px 0 36px;position:relative;overflow:hidden;}
.contact-hero::before{content:"";position:absolute;top:-100px;right:-100px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle, rgba(25,118,237,.06) 0%, transparent 70%);pointer-events:none;}
.contact-hero::after{content:"";position:absolute;bottom:-150px;left:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle, rgba(245,184,31,.05) 0%, transparent 70%);pointer-events:none;}
.contact-hero-inner{max-width:1280px;margin:0 auto;padding:0 24px;position:relative;z-index:1;text-align:center;}
.contact-hero .en{font-family:var(--font-en);font-size:11px;font-weight:700;color:var(--blue);letter-spacing:.3em;display:inline-flex;align-items:center;gap:12px;margin-bottom:14px;}
.contact-hero .en::before, .contact-hero .en::after{content:"";width:30px;height:1px;background:var(--blue);}
.contact-hero h1{font-size:36px;font-weight:900;color:var(--navy);letter-spacing:-.01em;line-height:1.35;margin-bottom:14px;}
.contact-hero p.lead{font-size:13.5px;color:var(--text-sub);line-height:1.85;max-width:680px;margin:0 auto;}

/* MAIN LAYOUT - 2 column with sidebar */
.contact-main{max-width:1280px;margin:36px auto 60px;padding:0 24px;display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:flex-start;}
.contact-main.full{grid-template-columns:1fr;max-width:920px;}

/* SIDEBAR */
.contact-sidebar{display:flex;flex-direction:column;gap:18px;position:sticky;top:84px;}
.sidebar-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.sidebar-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--bg);border-bottom:1px solid var(--line);}
.sidebar-card-head h3{font-size:14px;font-weight:800;color:var(--navy);display:flex;align-items:center;gap:9px;}
.sidebar-card-head h3::before{content:"";width:3px;height:14px;background:var(--blue);border-radius:2px;}
.sidebar-card-head .en{font-family:var(--font-en);font-size:9.5px;font-weight:700;color:var(--text-mute);letter-spacing:.2em;}
.sidebar-card-body{padding:16px 18px;}

/* CONTACT INFO LIST */
.contact-info-list{display:flex;flex-direction:column;gap:14px;}
.contact-info-row{display:flex;gap:12px;align-items:flex-start;}
.contact-info-row .ico{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg, var(--blue) 0%, var(--blue-light) 100%);display:grid;place-items:center;color:#fff;flex-shrink:0;}
.contact-info-row .ico svg{width:16px;height:16px;}
.contact-info-row .info{flex:1;min-width:0;}
.contact-info-row .info .lbl{font-size:10.5px;color:var(--text-mute);font-family:var(--font-en);font-weight:700;letter-spacing:.18em;margin-bottom:2px;}
.contact-info-row .info strong{display:block;font-size:14px;color:var(--navy);font-weight:800;line-height:1.4;margin-bottom:2px;}
.contact-info-row .info span{font-size:11px;color:var(--text-sub);}

/* HOURS TABLE */
.hours-table{margin-top:14px;padding:12px;background:var(--bg);border-radius:8px;font-size:12px;}
.hours-row{display:flex;justify-content:space-between;padding:5px 0;color:var(--text-sub);}
.hours-row + .hours-row{border-top:1px dashed var(--line);}
.hours-row strong{color:var(--navy);font-weight:700;}
.hours-note{font-size:11px;color:var(--text-mute);padding-top:8px;border-top:1px dashed var(--line);}

/* FAQ Quick Links */
.faq-list{display:flex;flex-direction:column;}
.faq-list a{display:flex;align-items:center;justify-content:space-between;padding:11px 4px;font-size:12.5px;color:var(--navy);border-bottom:1px solid var(--line);transition:color .15s, padding .2s;text-decoration:none;}
.faq-list a:last-child{border-bottom:none;}
.faq-list a:hover{color:var(--blue);padding-left:8px;}
.faq-list a svg{color:var(--text-mute);flex-shrink:0;transition:color .15s, transform .2s;width:13px;height:13px;}
.faq-list a:hover svg{color:var(--blue);transform:translateX(3px);}

/* CORP BANNER */
.corp-banner{background:linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 100%);border-radius:14px;padding:20px;position:relative;overflow:hidden;color:#fff;}
.corp-banner::before{content:"";position:absolute;top:-30px;right:-30px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle, rgba(245,184,31,.25), transparent 60%);}
.corp-banner > *{position:relative;z-index:1;}
.corp-banner .label{font-family:var(--font-en);font-size:9px;font-weight:700;color:var(--gold);letter-spacing:.2em;margin-bottom:8px;display:flex;align-items:center;gap:8px;}
.corp-banner .label::before{content:"";width:18px;height:1px;background:var(--gold);}
.corp-banner h4{font-size:15px;font-weight:900;line-height:1.5;margin-bottom:8px;color:#fff;}
.corp-banner p{font-size:11.5px;color:var(--text-on-dark);line-height:1.7;margin-bottom:14px;}
.corp-banner .btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;background:var(--gold);color:var(--navy-deep);font-size:11.5px;font-weight:800;transition:all .2s;text-decoration:none;}
.corp-banner .btn:hover{background:#fff;}
.corp-banner .btn svg{width:11px;height:11px;}

/* FORM-LEVEL TWEAKS for entry-card here */
.entry-card .row-zip-2{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;}
.entry-card .row-zip-2 .zip-prefix{font-family:var(--font-en);font-weight:800;color:var(--text-mute);}

/* Sidebar card heads — match the shared entry-card-head (white, gold accent, navy text) */
.contact-sidebar .sidebar-card-head{background:#fff;border-bottom:1px solid var(--line);}
.contact-sidebar .sidebar-card-head h3{color:var(--navy);}
.contact-sidebar .sidebar-card-head h3::before{width:4px;height:16px;background:var(--gold);border-radius:2px;}
.contact-sidebar .sidebar-card-head .en{color:var(--text-mute);}

/* CONFIRM PAGE — roomier read-only review block
   (overrides the dense .info-rows shared from cozeo-shopping.css, scoped to confirm only) */
.contact_confirm_page .entry-card-body{padding:8px 26px;}
.contact_confirm_page .info-rows{gap:0;font-size:14px;line-height:1.7;}
.contact_confirm_page .info-rows .row{flex-direction:column;gap:6px;padding:18px 0;border-bottom:1px solid var(--line);}
.contact_confirm_page .info-rows .row:last-child{border-bottom:none;}
.contact_confirm_page .info-rows .label{flex:none;font-size:12px;letter-spacing:.06em;padding-top:0;}
.contact_confirm_page .info-rows .value{font-size:15px;line-height:1.85;}
.contact_confirm_page .info-note{font-size:13px;line-height:1.7;}

/* RESPONSIVE */
@media (max-width: 1100px){
  .contact-main{grid-template-columns:1fr;}
  .contact-sidebar{position:static;}
}
@media (max-width: 760px){
  .contact-hero{padding:32px 0 28px;}
  .contact-hero h1{font-size:26px;}
  .contact-hero p.lead{font-size:12.5px;}
  .contact-main{padding:0 16px;margin:24px auto 40px;}
  .contact_confirm_page .entry-card-body{padding:4px 18px;}
  .contact_confirm_page .info-rows{font-size:13px;}
  .contact_confirm_page .info-rows .row{padding:14px 0;gap:5px;}
  .contact_confirm_page .info-rows .label{font-size:11px;}
  .contact_confirm_page .info-rows .value{font-size:14px;line-height:1.75;}
  .contact_confirm_page .info-note{font-size:12.5px;line-height:1.65;}
}
