/*
Theme Name:   WBS · World Wide Business Services (Astra Child)
Theme URI:    https://worldwbs.com/
Description:  Tema hijo de Astra para World Wide Business Services: organización de eventos y catering en Marbella. Los cambios de CSS y funciones van aquí para que no se pierdan al actualizar Astra.
Author:       Master Informática
Author URI:   https://gmaster.eu/
Template:     astra
Version:      1.0.1
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  worldwbs-astra-child
*/

/* ---------- Fuentes (alojadas en el servidor) ---------- */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/montserrat-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/montserrat-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/montserrat-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2")}

/* ---------- Colores y base ---------- */
:root{
	--wbs-navy:#0f2333;
	--wbs-navy-2:#173347;
	--wbs-teal:#2aa7ab;
	--wbs-teal-dark:#14787c;
	--wbs-sand:#f6f2ec;
	--wbs-ink:#24313a;
	--wbs-muted:#5d6a73;
	--wbs-line:#e3ddd3;
	--wbs-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
	--wbs-sans:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
	--wbs-wrap:1180px;
}
html{scroll-behavior:smooth}
body,button,input,select,textarea{font-family:var(--wbs-sans);color:var(--wbs-ink)}
body{font-size:16px;line-height:1.75;background:#fff}
h1,h2,h3,h4{font-family:var(--wbs-serif);font-weight:500;color:var(--wbs-navy);letter-spacing:0;line-height:1.15}
a{color:var(--wbs-teal-dark)}
a:hover,a:focus{color:var(--wbs-navy)}
:focus-visible{outline:2px solid var(--wbs-teal);outline-offset:3px}
[id]{scroll-margin-top:96px}

/* ---------- Cabecera de Astra ---------- */
.site-header .ast-primary-header-bar,.main-header-bar{background:#fff;border-bottom:1px solid var(--wbs-line)}
.site-header .custom-logo-link img,.site-header .site-logo-img img{max-height:58px;width:auto}
.main-header-menu .menu-link,.ast-header-break-point .main-header-menu .menu-link{font-family:var(--wbs-sans);font-size:12.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--wbs-navy)}
.main-header-menu .menu-item:hover>.menu-link,.main-header-menu .current-menu-item>.menu-link{color:var(--wbs-teal-dark)}
.main-header-menu .lang-item img{display:inline-block;vertical-align:middle}
.ast-mobile-menu-trigger-minimal,.menu-toggle{color:var(--wbs-navy)!important}

/* ---------- Estructura de secciones ---------- */
.wbs-wrap{max-width:var(--wbs-wrap);margin:0 auto;padding:0 24px}
.wbs-section{padding:96px 0}
.wbs-section--sand{background:var(--wbs-sand)}
.wbs-eyebrow{display:inline-block;font-family:var(--wbs-sans);font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--wbs-teal-dark);margin:0 0 14px}
.wbs-h2{font-size:clamp(34px,4.2vw,52px);margin:0 0 18px}
.wbs-lead{font-size:18px;color:var(--wbs-muted);max-width:720px}
.wbs-center{text-align:center}
.wbs-center .wbs-lead{margin-left:auto;margin-right:auto}

/* Botones */
.wbs-btn{display:inline-block;padding:15px 30px;border-radius:2px;font-family:var(--wbs-sans);font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.wbs-btn--primary{background:var(--wbs-teal);color:#fff;border:1px solid var(--wbs-teal)}
.wbs-btn--primary:hover,.wbs-btn--primary:focus{background:var(--wbs-teal-dark);border-color:var(--wbs-teal-dark);color:#fff}
.wbs-btn--ghost{border:1px solid rgba(255,255,255,.7);color:#fff}
.wbs-btn--ghost:hover,.wbs-btn--ghost:focus{background:#fff;color:var(--wbs-navy)}
.wbs-btns{display:flex;flex-wrap:wrap;gap:14px}

/* ---------- Portada ---------- */
.wbs-hero{position:relative;min-height:min(88vh,760px);display:flex;align-items:flex-end;color:#fff;background:var(--wbs-navy) center/cover no-repeat;isolation:isolate}
.wbs-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,35,51,.25) 0%,rgba(15,35,51,.55) 45%,rgba(15,35,51,.88) 100%)}
.wbs-hero .wbs-wrap{width:100%;padding-top:140px;padding-bottom:88px}
.wbs-hero .wbs-eyebrow{color:#8fe0e2}
.wbs-hero h1{color:#fff;font-size:clamp(40px,6vw,76px);max-width:900px;margin:0 0 20px}
.wbs-hero p{font-size:clamp(17px,1.6vw,20px);max-width:640px;color:rgba(255,255,255,.9);margin:0 0 34px}

/* ---------- Qué hacemos ---------- */
.wbs-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.wbs-split+.wbs-split{margin-top:80px}
.wbs-split--rev .wbs-split__media{order:2}
.wbs-split__media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px}
.wbs-split h3{font-size:clamp(28px,3vw,38px);margin:0 0 14px}
.wbs-split p{color:var(--wbs-muted);margin:0}

/* ---------- Servicios ---------- */
.wbs-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:56px}
.wbs-card{background:#fff;border:1px solid var(--wbs-line);display:flex;flex-direction:column}
.wbs-card img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.wbs-card__body{padding:30px 30px 34px}
.wbs-card__num{font-family:var(--wbs-serif);font-style:italic;font-size:22px;color:var(--wbs-teal-dark)}
.wbs-card h3{font-size:28px;margin:6px 0 12px}
.wbs-card p{color:var(--wbs-muted);font-size:15.5px;margin:0}

/* Lista de servicios complementarios */
.wbs-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;list-style:none;margin:40px 0 0;padding:0}
.wbs-tags li{border:1px solid var(--wbs-line);background:#fff;padding:9px 18px;font-size:13px;font-weight:500;letter-spacing:.06em;color:var(--wbs-navy)}

/* ---------- Banda con cita ---------- */
.wbs-quote{position:relative;padding:120px 0;color:#fff;background:var(--wbs-navy) center/cover no-repeat;isolation:isolate}
.wbs-quote::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(15,35,51,.78)}
.wbs-quote blockquote{margin:0 auto;max-width:900px;border:0;padding:0;text-align:center}
.wbs-quote blockquote p{font-family:var(--wbs-serif);font-style:italic;font-size:clamp(24px,2.6vw,34px);line-height:1.4;color:#fff;margin:0}

/* ---------- Contacto ---------- */
.wbs-contact{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start}
.wbs-contact__info p{color:var(--wbs-muted)}
.wbs-contact__list{list-style:none;margin:28px 0 0;padding:0}
.wbs-contact__list li{padding:16px 0;border-top:1px solid var(--wbs-line)}
.wbs-contact__list li:last-child{border-bottom:1px solid var(--wbs-line)}
.wbs-contact__list strong{display:block;font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--wbs-teal-dark)}
.wbs-contact__list a{color:var(--wbs-navy);text-decoration:none}
.wbs-form{background:#fff;border:1px solid var(--wbs-line);padding:40px}
.wbs-form .wpcf7 input[type=text],.wbs-form .wpcf7 input[type=email],.wbs-form .wpcf7 input[type=tel],.wbs-form .wpcf7 textarea{width:100%;border:1px solid var(--wbs-line);border-radius:2px;background:#fff;padding:13px 15px;font-size:15px;color:var(--wbs-ink)}
.wbs-form .wpcf7 textarea{height:150px}
.wbs-form .wpcf7 input:focus,.wbs-form .wpcf7 textarea:focus{border-color:var(--wbs-teal);outline:none;box-shadow:0 0 0 3px rgba(42,167,171,.18)}
.wbs-form .wpcf7 p{margin:0 0 16px}
.wbs-form .wpcf7 input[type=submit]{background:var(--wbs-teal);border:0;border-radius:2px;color:#fff;padding:15px 34px;font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.wbs-form .wpcf7 input[type=submit]:hover{background:var(--wbs-teal-dark)}
.wbs-form .wpcf7-list-item{margin:0}
.wbs-form .wpcf7-acceptance{font-size:14px;color:var(--wbs-muted)}

/* ---------- Páginas de texto (aviso legal) ---------- */
.wbs-legal{max-width:860px;margin:0 auto;padding:72px 24px 96px}
.wbs-legal h1{font-size:clamp(36px,4.5vw,54px);margin:0 0 28px}
.wbs-legal h2{font-size:28px;margin:40px 0 12px}
.wbs-legal p,.wbs-legal li{color:var(--wbs-muted)}

/* ---------- Pie ---------- */
.wbs-footer{background:var(--wbs-navy);color:rgba(255,255,255,.75);font-size:14.5px}
.wbs-footer a{color:#fff;text-decoration:none}
.wbs-footer a:hover,.wbs-footer a:focus{color:#8fe0e2}
.wbs-footer__inner{max-width:var(--wbs-wrap);margin:0 auto;padding:72px 24px 48px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px}
.wbs-footer__logo img{background:#fff;padding:10px 14px;border-radius:2px;max-width:220px;height:auto}
.wbs-footer__brand p{max-width:340px;margin-top:18px}
.wbs-footer__title{font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#8fe0e2;margin:0 0 14px}
.wbs-footer p{margin:0 0 12px}
.wbs-footer__kit{background:#fff;text-align:center;padding:18px 24px}
.wbs-footer__kit img{max-width:760px;width:100%;height:auto;display:inline-block}
.wbs-footer__bottom{max-width:var(--wbs-wrap);margin:0 auto;padding:22px 24px;font-size:13px;color:rgba(255,255,255,.6)}
.wbs-footer__bottom p{margin:0}

/* ---------- Tablet y móvil ---------- */
@media (max-width:921px){
	.wbs-section{padding:72px 0}
	.wbs-split,.wbs-contact{grid-template-columns:1fr;gap:32px}
	.wbs-split--rev .wbs-split__media{order:0}
	.wbs-split+.wbs-split{margin-top:56px}
	.wbs-cards{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}
	.wbs-footer__inner{grid-template-columns:1fr 1fr}
	.wbs-footer__brand{grid-column:1/-1}
}
@media (max-width:544px){
	.wbs-wrap{padding:0 18px}
	.wbs-hero{min-height:78vh}
	.wbs-hero .wbs-wrap{padding-bottom:56px}
	.wbs-form{padding:24px 18px}
	.wbs-quote{padding:80px 0}
	.wbs-footer__inner{grid-template-columns:1fr;gap:32px;padding-top:56px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---------- Ajustes de Astra (1.0.1) ---------- */
.ast-page-builder-template .site-content article.page,.ast-page-builder-template .entry-header{padding:0;margin:0}
.ast-page-builder-template .entry-content>section:first-child{margin-top:0}
.site-header .site-title,.site-header .ast-site-title-wrap{display:none}
.main-header-menu .wbs-lang>.menu-link{border:1px solid var(--wbs-line);padding-top:6px;padding-bottom:6px;margin-left:8px}
.main-header-menu .wbs-lang>.menu-link:hover{border-color:var(--wbs-teal)}


/* ---------- Ajustes (1.0.2) ---------- */
:root{--ast-global-color-0:#14787c;--ast-global-color-1:#0f2333}
.entry-content .wbs-wrap{max-width:var(--wbs-wrap)!important;margin-left:auto!important;margin-right:auto!important}
.entry-content .wbs-legal{max-width:860px!important;margin-left:auto!important;margin-right:auto!important}
.entry-content .wbs-contact__list,.entry-content .wbs-tags{margin-left:0;padding-left:0}
.wbs-tags{margin-top:40px}
.ast-mobile-menu-trigger-minimal svg,.menu-toggle .ast-mobile-svg{fill:var(--wbs-navy)}
#ast-scroll-top{background-color:var(--wbs-teal)}
#ast-scroll-top:hover{background-color:var(--wbs-teal-dark)}


/* ---------- Aviso de cookies CookieYes (1.0.3) ---------- */
.cky-consent-container .cky-consent-bar{border-radius:2px;border-color:var(--wbs-line)}
.cky-consent-container .cky-title{font-family:var(--wbs-serif);font-size:22px;color:var(--wbs-navy)}
.cky-notice-btn-wrapper{gap:10px 8px}
.cky-notice-btn-wrapper .cky-btn{margin:0!important}
.cky-btn{border-radius:2px!important;font-family:var(--wbs-sans)!important;font-weight:600!important;letter-spacing:.04em}
.cky-btn-accept{background:var(--wbs-teal)!important;border-color:var(--wbs-teal)!important;color:#fff!important}
.cky-btn-accept:hover{background:var(--wbs-teal-dark)!important;border-color:var(--wbs-teal-dark)!important}
.cky-btn-reject,.cky-btn-customize,.cky-btn-preferences{background:#fff!important;border-color:var(--wbs-teal-dark)!important;color:var(--wbs-teal-dark)!important}
.cky-btn-revisit-wrapper{background:var(--wbs-teal)!important}
