/* ============================================================
   Car Custom Garage — PIE del sitio.
   Hoja autocontenida: define sus propias tipografias y variables
   para poder cargarse en todas las paginas sin arrastrar el resto
   del sistema de la home. La estructura y el contenido viven en la
   plantilla «PIE E» de Elementor y se editan desde el constructor.
   ============================================================ */
@font-face{font-family:CCGSerif;src:url(../ccg-fonts/instrument-serif-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:CCGSans;src:url(../ccg-fonts/instrument-sans-latin-standard-normal.woff2) format('woff2');font-weight:400 700;font-stretch:75% 100%;font-style:normal;font-display:swap}

.ccg-f{
  --ink:#0A0B0C; --rojo:#B12028; --rojo-l:#CF4A51;
  --t1:#F3F3F2; --t2:rgba(243,243,242,.70); --t3:rgba(243,243,242,.42);
  --line:rgba(243,243,242,.12);
  --out:cubic-bezier(.23,1,.32,1);
  --max:1340px; --gut:clamp(20px,5.6vw,96px);
  position:relative;z-index:100;background-color:var(--ink);color:var(--t1);
  font-family:CCGSans,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;
}
.ccg-f>.elementor-container{max-width:var(--max);width:100%;margin-inline:auto;padding-inline:var(--gut)}
.ccg-f img{display:block;max-width:100%}
.ccg-f a{text-decoration:none}
.ccg-f-top{border-top:1px solid var(--line);padding-block:clamp(58px,8vh,96px)}
.ccg-f .elementor-widget:not(:last-child){margin-bottom:0}

/* --- marca --- */
.ccg-f-logo img{width:clamp(150px,14vw,200px);height:auto;opacity:.92;transition:opacity .35s ease}
.ccg-f-logo a:hover img{opacity:1}
.ccg-f-claim{margin-top:22px}
.ccg-f-claim,.ccg-f-claim p{font-size:15px;line-height:1.65;color:var(--t2);max-width:36ch;text-transform:none}
.ccg-f-claim p:last-child{margin-bottom:0}
.ccg-f-social{margin-top:26px}
.ccg-f-social .elementor-social-icon{width:42px;height:42px;background-color:transparent!important;
  border-radius:0!important;box-shadow:inset 0 0 0 1px rgba(243,243,242,.22);color:var(--t2)!important;
  transition:background-color .35s var(--out),color .3s ease,box-shadow .3s ease}
.ccg-f-social .elementor-social-icon:hover{background-color:var(--rojo)!important;color:#fff!important;box-shadow:none}
.ccg-f-social .elementor-social-icon i{font-size:15px}

/* --- columnas de enlaces --- */
.ccg-f-h .elementor-heading-title{font-family:CCGSans,system-ui,sans-serif!important;font-size:11.5px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--t3);line-height:1.4}
.ccg-f-h{margin-bottom:20px!important}
.ccg-f-menu .elementor-nav-menu--main .elementor-item{padding:0;font-family:CCGSans,system-ui,sans-serif!important;
  font-size:14.5px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--t2);line-height:1.45;
  transition:color .28s ease;fill:var(--t2)}
.ccg-f-menu .elementor-nav-menu--main .elementor-item:hover,
.ccg-f-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
.ccg-f-menu .elementor-nav-menu--main .elementor-item:focus{color:var(--t1);background:transparent}
.ccg-f-menu .elementor-nav-menu--main li{margin-bottom:12px}
.ccg-f-menu .elementor-nav-menu--main li:last-child{margin-bottom:0}
.ccg-f-menu .elementor-nav-menu--main .elementor-item:before,
.ccg-f-menu .elementor-nav-menu--main .elementor-item:after{display:none!important}

/* --- contacto --- */
.ccg-f-contact .elementor-icon-list-item{margin-bottom:16px}
.ccg-f-contact .elementor-icon-list-item:last-child{margin-bottom:0}
.ccg-f-contact .elementor-icon-list-text{padding:0;font-size:14.5px;line-height:1.55;color:var(--t2);
  text-transform:none;transition:color .28s ease}
.ccg-f-contact a:hover .elementor-icon-list-text{color:var(--rojo-l)}
.ccg-f-contact .elementor-icon-list-icon{display:none}

/* --- banda inferior --- */
.ccg-f-bottom{border-top:1px solid var(--line);padding-block:24px}
.ccg-f-legal,.ccg-f-legal p{font-size:12.5px;line-height:1.6;color:var(--t3);text-transform:none;margin:0}
.ccg-f-legalmenu .elementor-nav-menu--main{justify-content:flex-end;flex-wrap:wrap;gap:0}
.ccg-f-legalmenu .elementor-nav-menu--main .elementor-item{padding:0 0 0 22px;font-family:CCGSans,system-ui,sans-serif!important;
  font-size:12.5px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--t3);transition:color .28s ease}
.ccg-f-legalmenu .elementor-nav-menu--main .elementor-item:hover{color:var(--t1);background:transparent}
.ccg-f-legalmenu .elementor-nav-menu--main li+li{border-left:1px solid var(--line)}
.ccg-f-legalmenu .elementor-nav-menu--main .elementor-item:before,
.ccg-f-legalmenu .elementor-nav-menu--main .elementor-item:after{display:none!important}

.ccg-f-bycol>.elementor-widget-wrap{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.ccg-f-bycol>.elementor-widget-wrap>.elementor-widget{width:auto!important;margin:0!important}
.ccg-f-by .elementor-heading-title{font-family:CCGSans,system-ui,sans-serif!important;font-size:10.5px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(243,243,242,.30);white-space:nowrap}
.ccg-f-bylogo img{width:92px;height:auto;opacity:.62;filter:grayscale(1) brightness(2.4);transition:opacity .35s ease}
.ccg-f-bylogo:hover img{opacity:.85}

/* --- el pie no usa menu desplegable --- */
.ccg-f-menu .elementor-nav-menu--dropdown,
.ccg-f-legalmenu .elementor-nav-menu--dropdown,
.ccg-f-menu .elementor-menu-toggle,
.ccg-f-legalmenu .elementor-menu-toggle{display:none!important}

/* --- foco visible --- */
.ccg-f a:focus-visible{outline:2px solid var(--rojo-l);outline-offset:3px}

/* --- adaptacion --- */
@media(max-width:1024px){
  .ccg-f-brand{margin-bottom:44px}
  .ccg-f-col{margin-bottom:34px}
  .ccg-f-bottom>.elementor-container{gap:18px}
  .ccg-f-legalmenu .elementor-nav-menu--main{justify-content:flex-start}
  .ccg-f-legalmenu .elementor-nav-menu--main .elementor-item{padding-left:0}
  .ccg-f-legalmenu .elementor-nav-menu--main li+li .elementor-item{padding-left:14px}
  .ccg-f-bycol>.elementor-widget-wrap{justify-content:flex-start}
}
@media(max-width:767px){
  .ccg-f-top{padding-block:52px 44px}
  .ccg-f-claim,.ccg-f-claim p{font-size:15.5px}
  .ccg-f-bottom{padding-block:22px}
}
@media(prefers-reduced-motion:reduce){
  .ccg-f *,.ccg-f *:before,.ccg-f *:after{transition-duration:.01ms!important}
}

/* --- la banda inferior ya no lleva firma de autor --- */
.ccg-f-legalmenu .elementor-nav-menu--main li+li{border-left:0}
@media(max-width:1024px){.ccg-f-legalmenu .elementor-nav-menu--main{justify-content:flex-start}
  .ccg-f-legalmenu .elementor-nav-menu--main .elementor-item{padding:0 22px 0 0}}
