/* ============================================================
   HTV Contact Premium v2 — Full Page CSS
   ============================================================ */

:root {
  --cp-bg: #0a0a0a;
  --cp-card: #111111;
  --cp-card-hover: #171717;
  --cp-gold: #C6A961;
  --cp-gold-lt: #d4bc7a;
  --cp-gold-dk: #a8893d;
  --cp-gold-glow: rgba(198,169,97,0.10);
  --cp-white: #fff;
  --cp-g100: #eee;
  --cp-g300: #aaa;
  --cp-g500: #777;
  --cp-g700: #444;
  --cp-bdr: rgba(255,255,255,0.07);
  --cp-bdr-g: rgba(198,169,97,0.2);
  --cp-r: 14px;
  --cp-r-lg: 20px;
  --cp-ease: cubic-bezier(0.16,1,0.3,1);
  --cp-ff: 'Montserrat',system-ui,sans-serif;
  --cp-fd: 'Playfair Display',Georgia,serif;
}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ─── PAGE ─── */
.cp-page{max-width:100%;overflow:hidden}
.cp-container{max-width:960px;margin:0 auto;padding:0 24px}

/* ─── HERO ─── */
.cp-hero{
  position:relative;
  min-height:55vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(ellipse at 25% 45%, rgba(198,169,97,0.07) 0%, transparent 55%),
    radial-gradient(ellipse at 75% 30%, rgba(198,169,97,0.04) 0%, transparent 45%),
    linear-gradient(170deg, #0d0d0d 0%, #0a0a0a 50%, #0e0e14 100%);
  padding:120px 24px 64px;
}
.cp-hero__bg{
  position:absolute;inset:0;
  background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="3" height="3"><rect width="3" height="3" fill="rgba(255,255,255,0.015)"/></svg>') repeat;
  pointer-events:none;
}
.cp-hero__inner{position:relative;z-index:1;text-align:center;max-width:660px}

.cp-hero__pre{
  display:inline-block;
  font:600 .68rem/.68rem var(--cp-ff);
  letter-spacing:.35em;text-transform:uppercase;
  color:var(--cp-gold);
  margin-bottom:22px;
  position:relative;
}
.cp-hero__pre::before,.cp-hero__pre::after{
  content:'';position:absolute;top:50%;
  width:36px;height:1px;
}
.cp-hero__pre::before{right:calc(100% + 14px);background:linear-gradient(90deg,transparent,var(--cp-gold))}
.cp-hero__pre::after{left:calc(100% + 14px);background:linear-gradient(90deg,var(--cp-gold),transparent)}

.cp-hero__title, h1.cp-hero__title{
  font:700 clamp(2rem,5vw,3.2rem)/1.12 var(--cp-fd);
  color:var(--cp-white);margin:0 0 18px;letter-spacing:-.01em;
}
.cp-hero__sub{
  font:400 1.05rem/1.7 var(--cp-ff);
  color:var(--cp-g300);margin:0 0 34px;
}
.cp-hero__ctas{
  display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:28px;
}
.cp-hero__badge{
  font:400 .82rem/1 var(--cp-ff);color:var(--cp-g500);margin:0;
}

/* ─── BUTTONS ─── */
.cp-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 30px;border-radius:50px;
  font:700 .8rem/1 var(--cp-ff);letter-spacing:.1em;text-transform:uppercase;
  text-decoration:none;cursor:pointer;border:none;
  transition:all .35s var(--cp-ease);
}
.cp-btn--gold{
  background:linear-gradient(135deg,var(--cp-gold),var(--cp-gold-dk));
  color:#0a0a0a;
  box-shadow:0 4px 16px rgba(198,169,97,.2);
}
.cp-btn--gold:hover{
  background:linear-gradient(135deg,var(--cp-gold-lt),var(--cp-gold));
  transform:translateY(-3px);
  box-shadow:0 8px 28px rgba(198,169,97,.3);
  color:#0a0a0a;
}
.cp-btn--outline{
  background:transparent;color:var(--cp-gold);
  border:1px solid var(--cp-bdr-g);
}
.cp-btn--outline:hover{
  background:var(--cp-gold-glow);border-color:var(--cp-gold);
  transform:translateY(-3px);color:var(--cp-gold-lt);
}
.cp-btn svg{flex-shrink:0;width:18px;height:18px}

/* ─── TRUST BAR ─── */
.cp-trust{
  display:grid;grid-template-columns:repeat(4,1fr);
  max-width:880px;margin:0 auto 56px;
  border-radius:var(--cp-r);overflow:hidden;
  border:1px solid var(--cp-bdr);background:var(--cp-card);
}
.cp-trust__item{
  text-align:center;padding:22px 12px;
  border-right:1px solid var(--cp-bdr);
  transition:background .3s ease;
}
.cp-trust__item:last-child{border-right:none}
.cp-trust__item:hover{background:var(--cp-card-hover)}
.cp-trust__icon{display:block;font-size:1.3rem;margin-bottom:8px}
.cp-trust__val{display:block;font:700 .92rem/1.2 var(--cp-ff);color:var(--cp-white);margin-bottom:3px}
.cp-trust__lbl{display:block;font:400 .72rem/1.3 var(--cp-ff);color:var(--cp-g500)}

/* ─── CONTACT CARDS ─── */
.cp-cards{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:14px;margin-bottom:56px;
}
.cp-card{
  background:var(--cp-card);
  border:1px solid var(--cp-bdr);
  border-radius:var(--cp-r);
  padding:28px 22px;
  text-decoration:none;
  display:flex;flex-direction:column;gap:6px;
  transition:all .35s var(--cp-ease);
}
.cp-card:hover{
  transform:translateY(-5px);
  border-color:var(--cp-bdr-g);
  box-shadow:0 8px 32px rgba(198,169,97,.12);
  background:var(--cp-card-hover);
}
.cp-card__icon{font-size:1.8rem;margin-bottom:4px}
.cp-card__label{
  font:600 .6rem/1 var(--cp-ff);letter-spacing:.2em;
  text-transform:uppercase;color:var(--cp-gold);
}
.cp-card__value{
  font:600 .95rem/1.4 var(--cp-ff);color:var(--cp-white);
}
.cp-card__action{
  font:600 .72rem/1 var(--cp-ff);letter-spacing:.08em;
  color:var(--cp-gold);margin-top:auto;padding-top:8px;
}
.cp-card__action--muted{color:var(--cp-g500)}

/* ─── SECTION TITLES ─── */
.cp-section-title{
  font:600 1.4rem/1.2 var(--cp-fd);
  color:var(--cp-white);margin:0 0 24px;text-align:center;
}

/* ─── FORM ─── */
.cp-form-section{
  background:var(--cp-card);
  border:1px solid var(--cp-bdr);
  border-radius:var(--cp-r-lg);
  padding:48px 44px;margin-bottom:56px;
  box-shadow:0 4px 24px rgba(0,0,0,.4);
}
.cp-form-header{text-align:center;margin-bottom:36px}
.cp-form-header__pre{
  font:600 .62rem/1 var(--cp-ff);letter-spacing:.3em;
  text-transform:uppercase;color:var(--cp-gold);
  display:block;margin-bottom:12px;
}
.cp-form-header__title{
  font:700 1.6rem/1.2 var(--cp-fd);
  color:var(--cp-white);margin:0 0 10px;
}
.cp-form-header__sub{
  font:400 .9rem/1.6 var(--cp-ff);color:var(--cp-g300);margin:0;
}

.cp-form__row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.cp-form__group{margin-bottom:20px}
.cp-form__row .cp-form__group{margin-bottom:0}

.cp-form__label{
  display:block;
  font:600 .62rem/1 var(--cp-ff);letter-spacing:.18em;
  text-transform:uppercase;color:var(--cp-g500);
  margin-bottom:10px;
  transition:color .3s ease;
}
.cp-form__group:focus-within .cp-form__label{color:var(--cp-gold)}

.cp-form__input{
  width:100%;padding:15px 18px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  color:var(--cp-white);
  font:400 .92rem/1.5 var(--cp-ff);
  transition:all .3s var(--cp-ease);
  outline:none;
  -webkit-appearance:none;
  box-sizing:border-box;
}
.cp-form__input::placeholder{color:rgba(255,255,255,.18);font-weight:300}
.cp-form__input:hover{border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.045)}
.cp-form__input:focus{
  border-color:var(--cp-gold);
  background:rgba(198,169,97,.04);
  box-shadow:0 0 0 3px rgba(198,169,97,.08);
}
.cp-form__input.cp-input-error{border-color:#c0392b;box-shadow:0 0 0 3px rgba(192,57,43,.1)}

.cp-form__select{
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23C6A961' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;
  padding-right:42px;
}
.cp-form__select option{background:#141414;color:var(--cp-white)}

.cp-form__textarea{min-height:130px;resize:vertical;line-height:1.7}

.cp-form__submit{
  width:100%;padding:18px 32px;
  background:linear-gradient(135deg,var(--cp-gold),var(--cp-gold-dk));
  color:#0a0a0a;
  font:700 .78rem/1 var(--cp-ff);letter-spacing:.2em;text-transform:uppercase;
  border:none;border-radius:50px;cursor:pointer;
  transition:all .4s var(--cp-ease);
  position:relative;overflow:hidden;
  margin-top:8px;
  box-shadow:0 4px 20px rgba(198,169,97,.2);
}
.cp-form__submit:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 32px rgba(198,169,97,.35);
  background:linear-gradient(135deg,var(--cp-gold-lt),var(--cp-gold));
}
.cp-form__submit:active{transform:translateY(-1px)}
.cp-form__submit:disabled{opacity:.6;cursor:wait}
.cp-form__submit span{position:relative;z-index:1}

.cp-form__footer{
  text-align:center;margin:16px 0 0;
  font:400 .78rem/1 var(--cp-ff);color:var(--cp-g500);
}

/* ─── FAQ ─── */
.cp-faq{margin-bottom:56px}
.cp-faq__item{border-bottom:1px solid var(--cp-bdr)}
.cp-faq__item:last-child{border-bottom:none}
.cp-faq__q{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 0;
  font:600 .92rem/1.4 var(--cp-ff);color:var(--cp-g100);
  cursor:pointer;list-style:none;
  transition:color .25s ease;
  -webkit-user-select:none;user-select:none;
}
.cp-faq__q::-webkit-details-marker{display:none}
.cp-faq__q::after{
  content:'';width:28px;height:28px;flex-shrink:0;margin-left:16px;
  border-radius:50%;border:1px solid var(--cp-bdr-g);
  background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" stroke="%23C6A961" stroke-width="1.5"><line x1="6" y1="2" x2="6" y2="10"/><line x1="2" y1="6" x2="10" y2="6"/></svg>') center/12px no-repeat;
  transition:all .35s var(--cp-ease);
}
.cp-faq__item[open] .cp-faq__q::after{
  transform:rotate(45deg);background-color:var(--cp-gold-glow);
}
.cp-faq__q:hover{color:var(--cp-gold)}
.cp-faq__a{padding:0 0 22px;animation:cpSlide .3s var(--cp-ease)}
@keyframes cpSlide{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.cp-faq__a p{font:400 .88rem/1.85 var(--cp-ff);color:var(--cp-g300);margin:0}

/* ─── SEO CONTENT ─── */
.cp-seo-content{
  margin-bottom:56px;
  padding:40px;
  background:var(--cp-card);
  border:1px solid var(--cp-bdr);
  border-radius:var(--cp-r-lg);
}
.cp-seo-content h2{font:600 1.4rem/1.2 var(--cp-fd);color:var(--cp-white);margin:0 0 16px}
.cp-seo-content h3{font:700 1.05rem/1.3 var(--cp-ff);color:var(--cp-white);margin:28px 0 10px}
.cp-seo-content p{font:400 .9rem/1.85 var(--cp-ff);color:var(--cp-g300);margin:0 0 12px}
.cp-seo-content strong{color:var(--cp-white)}

/* ─── MAP ─── */
.cp-map{margin-bottom:56px;text-align:center}
.cp-map__address{font:400 .88rem/1 var(--cp-ff);color:var(--cp-g500);margin:0 0 20px}
.cp-map__frame{
  border-radius:var(--cp-r-lg);overflow:hidden;
  border:1px solid var(--cp-bdr-g);
  box-shadow:0 4px 24px rgba(0,0,0,.4);
}
.cp-map__frame iframe{display:block}

/* ─── CTA FINAL ─── */
.cp-cta-final{
  text-align:center;padding:52px 32px;margin-bottom:40px;
  border-radius:var(--cp-r-lg);
  background:linear-gradient(135deg,rgba(198,169,97,.06),rgba(198,169,97,.02));
  border:1px solid var(--cp-bdr-g);
}
.cp-cta-final__title{font:700 1.6rem/1.2 var(--cp-fd);color:var(--cp-white);margin:0 0 10px}
.cp-cta-final__sub{font:400 1rem/1 var(--cp-ff);color:var(--cp-g500);margin:0 0 28px}
.cp-cta-final__btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ─── MOBILE ─── */
@media(max-width:768px){
  .cp-hero{min-height:46vh;padding:110px 20px 48px}
  .cp-hero__pre::before,.cp-hero__pre::after{display:none}
  .cp-hero__ctas{flex-direction:column;align-items:stretch;padding:0 16px}
  .cp-btn{justify-content:center}
  .cp-trust{grid-template-columns:repeat(2,1fr);margin-bottom:40px}
  .cp-trust__item:nth-child(2){border-right:none}
  .cp-trust__item:nth-child(1),.cp-trust__item:nth-child(2){border-bottom:1px solid var(--cp-bdr)}
  .cp-cards{grid-template-columns:repeat(2,1fr)}
  .cp-form-section{padding:32px 24px}
  .cp-form__row{grid-template-columns:1fr}
  .cp-cta-final{padding:40px 24px}
  .cp-cta-final__btns{flex-direction:column;align-items:stretch;padding:0 16px}
  .cp-seo-content{padding:28px 20px}
}
@media(max-width:480px){
  .cp-hero{min-height:40vh;padding:96px 16px 36px}
  .cp-hero__title, h1.cp-hero__title{font-size:1.75rem}
  .cp-cards{grid-template-columns:1fr}
  .cp-trust{grid-template-columns:1fr}
  .cp-trust__item{border-right:none;border-bottom:1px solid var(--cp-bdr)}
  .cp-trust__item:last-child{border-bottom:none}
}


/* === SEO INFOS SECTION === */
.cp-infos {
  max-width: 960px;
  margin: 0 auto 48px;
  padding: 0 24px;
}
.cp-infos__title {
  font: 600 1.35rem/1.3 var(--cp-fd, 'Playfair Display', serif);
  color: var(--cp-white, #fff);
  margin: 0 0 28px;
  padding: 0 0 14px;
  border-bottom: 1px solid rgba(198,169,97,0.12);
}
.cp-infos__block {
  margin: 0 0 24px;
}
.cp-infos__heading {
  font: 700 0.68rem/1 var(--cp-ff, 'Montserrat', sans-serif);
  color: var(--cp-gold, #C6A961);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0 0 10px;
}
.cp-infos__text {
  font: 400 0.88rem/1.85 var(--cp-ff, 'Montserrat', sans-serif);
  color: #aaa;
  margin: 0;
}
.cp-infos__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.cp-infos__list li {
  font: 400 0.85rem/1.7 var(--cp-ff, 'Montserrat', sans-serif);
  color: #aaa;
  padding: 8px 0 8px 20px;
  position: relative;
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.cp-infos__list li:last-child { border-bottom: none; }
.cp-infos__list li::before {
  content: '';
  position: absolute;
  left: 0; top: 16px;
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--cp-gold, #C6A961);
}

/* === MOBILE OVERFLOW FIX === */
.cp-page, .cp-hero, .cp-trust, .cp-cards, .cp-form-section, .cp-faq, .cp-infos, .cp-map, .cp-seo-content {
  max-width: 100%;
  overflow-x: hidden;
}
.cp-page *, .cp-wrap * {
  box-sizing: border-box;
}
img, iframe { max-width: 100%; height: auto; }
.cp-map__frame iframe { height: 380px; }

@media (max-width: 400px) {
  .cp-hero { padding: 96px 16px 32px; }
  .cp-hero__title, h1.cp-hero__title { font-size: clamp(1.4rem, 5vw, 2rem) !important; word-break: break-word; }
  .cp-hero__sub { font-size: clamp(0.88rem, 3vw, 1rem); }
  .cp-trust { grid-template-columns: 1fr; margin-bottom: 32px; }
  .cp-trust__item { border-right: none; border-bottom: 1px solid var(--cp-bdr, rgba(255,255,255,0.07)); }
  .cp-trust__item:last-child { border-bottom: none; }
  .cp-cards { grid-template-columns: 1fr; }
  .cp-form-section { padding: 24px 16px; }
  .cp-form__row { grid-template-columns: 1fr; }
  .cp-infos { padding: 0 16px; }
  .cp-map__frame iframe { height: 260px; }
}
