/*
Theme Name: ABEL GIL
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/* --------------------------------------------------------------------------
   1. Tipografía (Google Fonts)
   -------------------------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Jost:wght@200;300;400;500;600&display=swap');
@font-face {
    font-family: 'Bon Vivant Family Serif';
    src: url('BonVivantSerif.eot');
    src: local('Bon Vivant Family Serif'), local('BonVivantSerif'),
        url('BonVivantSerif.eot?#iefix') format('embedded-opentype'),
        url('BonVivantSerif.woff2') format('woff2'),
        url('BonVivantSerif.woff') format('woff'),
        url('BonVivantSerif.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
/* --------------------------------------------------------------------------
   2. Variables de diseño
   -------------------------------------------------------------------------- */
:root {
    --ag-white:        #ffffff;
    --ag-cream:        #faf8f5;
    --ag-cream-deep:   #f1ece4;
    --ag-black:        #1a1a1a;
    --ag-black-soft:   #2a2a2a;
    --ag-gray:         #6b6b6b;
    --ag-gray-light:   #c9c4bc;
    --ag-gray-lighter: #ebe7e1;
    --ag-beige:        #b8a99a;
    --ag-beige-dark:   #8b7d6e;
    --ag-line:         rgba(26,26,26,0.12);

    --ag-font-display: 'Cormorant Garamond', 'Times New Roman', serif;
    --ag-font-body:    'Jost', -apple-system, BlinkMacSystemFont, sans-serif;

    --ag-tracking-wide:  0.22em;
    --ag-tracking-mid:   0.12em;
    --ag-tracking-tight: -0.01em;

    --ag-easing: cubic-bezier(0.65, 0, 0.35, 1);
}

/* --------------------------------------------------------------------------
   3. Reset / base
   -------------------------------------------------------------------------- */
body,
body.page,
body.home {
    font-family: var(--ag-font-body);
    color: var(--ag-black);
    background: var(--ag-white);
    font-weight: 300;
    font-size: 14px;
    line-height: 1.7;
    letter-spacing: 0.02em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.heading-font,
.entry-title {
    font-family: var(--ag-font-display);
    font-weight: 400;
    letter-spacing: var(--ag-tracking-tight);
    line-height: 1.05;
    color: var(--ag-black);
}

a {
    color: var(--ag-black);
    transition: color .3s var(--ag-easing), opacity .3s var(--ag-easing);
}
a:hover { color: var(--ag-beige-dark); }

p { font-weight: 300; }

::selection {
    background: var(--ag-beige);
    color: var(--ag-white);
}

/* --------------------------------------------------------------------------
   4. Helpers tipográficos
   -------------------------------------------------------------------------- */
.tipo-logo{font-family: 'Bon Vivant Family Serif';}

/* Etiqueta pequeña en mayúsculas */
.ag-eyebrow,
.ag-eyebrow p {
    font-family: var(--ag-font-body);
    font-weight: 400;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: var(--ag-tracking-wide);
    color: var(--ag-gray);
    margin: 0 0 18px;
    line-height: 1.4;
}
.ag-eyebrow--dark { color: var(--ag-black); }
.ag-eyebrow--beige { color: var(--ag-beige-dark); }

/* Numeración estilo dossier "01 / SECCIÓN" */
.ag-num {
    font-family: var(--ag-font-body);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: var(--ag-tracking-wide);
    text-transform: uppercase;
    color: var(--ag-beige-dark);
}
.ag-num strong {
    font-weight: 400;
    color: var(--ag-black);
}

/* Display headlines - serif gigante */
.ag-display,
.ag-display h1,
.ag-display h2 {
    /*font-family: var(--ag-font-display);*/
	font-family: 'Bon Vivant Family Serif';
    font-weight: 300;
    font-size: 48px;
    line-height: 1.4;
    letter-spacing: -0.02em;
    color: var(--ag-black);
    margin: 0;
}
.ag-display--md,
.ag-display--md h2 {
    font-size: 48px;
    line-height: 1;
}
.ag-display--sm,
.ag-display--sm h2,
.ag-display--sm h3 {
    font-size: 48px;
    line-height: 1.1;
}
.ag-display em,
.ag-display i {
    font-style: italic;
    color: var(--ag-beige-dark);
}

/* Cuerpo de texto editorial */
.ag-body,
.ag-body p {
    font-family: var(--ag-font-body);
    font-size: 14px;
    font-weight: 300;
    line-height: 1.85;
    color: var(--ag-black-soft);
    letter-spacing: 0.01em;
}
.ag-body--sm,
.ag-body--sm p { font-size: 12.5px; line-height: 1.8; }
.ag-body--lg,
.ag-body--lg p { font-size: 16px; line-height: 1.75; }

.ag-muted,
.ag-muted p { color: var(--ag-gray); }

/* Etiqueta vertical girada */
.ag-vertical-label {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-family: var(--ag-font-body);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: var(--ag-tracking-wide);
    text-transform: uppercase;
    color: var(--ag-gray);
}

/* Quote / cita */
.ag-quote,
.ag-quote p {
    font-family: 'Bon Vivant Family Serif';
    font-style: italic;
    font-weight: 300;
    font-size: clamp(22px, 2.4vw, 34px);
    line-height: 1.35;
    color: var(--ag-black);
    margin: 0;
}

/* Link estilo subrayado fino */
.ag-link {
    display: inline-block;
    font-family: var(--ag-font-body);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: var(--ag-tracking-wide);
    text-transform: uppercase;
    color: var(--ag-black) !important;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--ag-black);
    position: relative;
    text-decoration: none !important;
    transition: color .35s var(--ag-easing), border-color .35s var(--ag-easing);
}
.ag-link:hover {
    color: var(--ag-beige-dark) !important;
    border-color: var(--ag-beige-dark);
}
.ag-link--beige {
    color: var(--ag-beige-dark) !important;
    border-color: var(--ag-beige-dark);
}

/* --------------------------------------------------------------------------
   5. Botones
   -------------------------------------------------------------------------- */
.ag-btn,
.ag-btn.button {
    font-family: var(--ag-font-body);
    font-size: 11px !important;
    font-weight: 400;
    letter-spacing: var(--ag-tracking-wide);
    text-transform: uppercase;
    padding: 18px 38px;
    border: 1px solid var(--ag-black);
    background: transparent;
    color: var(--ag-black);
    border-radius: 0 !important;
    line-height: 1;
    min-height: auto;
    height: auto;
    transition: all .4s var(--ag-easing);
    display: inline-flex;
    align-items: center;
    gap: 12px;
}
.ag-btn:hover,
.ag-btn.button:hover {
    background: var(--ag-black);
    color: var(--ag-white);
}
.ag-btn--filled {
    background: var(--ag-black);
    color: var(--ag-white);
}
.ag-btn--filled:hover {
    background: transparent;
    color: var(--ag-black);
}
.ag-btn--beige {
    border-color: var(--ag-beige-dark);
    color: var(--ag-beige-dark);
}
.ag-btn--beige:hover {
    background: var(--ag-beige-dark);
    color: var(--ag-white);
}

/* --------------------------------------------------------------------------
   6. Header
   -------------------------------------------------------------------------- */
.ag-header {
    background: var(--ag-white);
    border-bottom: 1px solid var(--ag-line);
    padding: 18px 0;
}
.ag-header .ag-logo {
    font-family: var(--ag-font-display);
    font-size: 22px;
    font-weight: 400;
    letter-spacing: 0.18em;
    color: var(--ag-black);
    text-transform: uppercase;
    text-decoration: none;
    line-height: 1;
}
.ag-header .ag-logo small {
    display: block;
    font-family: var(--ag-font-body);
    font-size: 9px;
    letter-spacing: var(--ag-tracking-wide);
    color: var(--ag-gray);
    margin-top: 4px;
}
.ag-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 38px;
    justify-content: center;
    align-items: center;
}
.ag-nav li { margin: 0; }
.ag-nav a {
    font-family: var(--ag-font-body);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: var(--ag-tracking-wide);
    text-transform: uppercase;
    color: var(--ag-black);
    text-decoration: none;
    position: relative;
    padding: 6px 0;
}
.ag-nav a::after {
    content: '';
    position: absolute;
    left: 0;
    right: 100%;
    bottom: 0;
    height: 1px;
    background: var(--ag-beige-dark);
    transition: right .4s var(--ag-easing);
}
.ag-nav a:hover::after,
.ag-nav .current-menu-item a::after { right: 0; }

.ag-header-meta {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 20px;
    font-size: 11px;
    letter-spacing: var(--ag-tracking-mid);
    color: var(--ag-gray);
    text-transform: uppercase;
}
.ag-header-meta a { color: var(--ag-gray); text-decoration: none; }
.ag-header-meta a:hover { color: var(--ag-beige-dark); }

/* --------------------------------------------------------------------------
   7. Hero
   -------------------------------------------------------------------------- */
.ag-hero {
    position: relative;
    background: var(--ag-white);
    padding: 80px 0 120px;
    overflow: hidden;
}
.ag-hero__title{font-family: 'Bon Vivant Family Serif' !important;}
.ag-hero__title h1 {
	font-family: 'Bon Vivant Family Serif' !important;
    font-size: clamp(60px, 10vw, 180px);
    line-height: 0.88;
    font-weight: 300;
    letter-spacing: -0.025em;
    margin: 0;
}
.ag-hero__title em {
    font-style: italic;
    color: var(--ag-beige-dark);
}
.ag-hero__sub {
    font-family: var(--ag-font-body);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: var(--ag-tracking-wide);
    color: var(--ag-gray);
    margin-bottom: 28px;
}
.ag-hero__image {
    overflow: hidden;
    position: relative;
}
/*.ag-hero__image img {
    transition: transform 1.6s var(--ag-easing);
}
.ag-hero__image:hover img { transform: scale(1.04); }*/

.ag-hero__caption {
    position: absolute;
    bottom: 0px;
    left: 0px;
    font-size: 8px;
    text-transform: uppercase;
    letter-spacing: var(--ag-tracking-wide);
    color: var(--ag-white);
    background: rgba(0,0,0,0.25);
    padding: 8px 14px;
    backdrop-filter: blur(4px);
}

.ag-hero__scroll {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 14px;
    letter-spacing: var(--ag-tracking-wide);
    text-transform: uppercase;
    color: var(--ag-gray);
    writing-mode: vertical-rl;
    animation: ag-scroll-hint 2.4s ease-in-out infinite;
}
@keyframes ag-scroll-hint {
    0%, 100% { transform: translate(-50%, 0); opacity: 0.4; }
    50%      { transform: translate(-50%, 12px); opacity: 1; }
}

/* --------------------------------------------------------------------------
   8. Secciones
   -------------------------------------------------------------------------- */
.ag-section {
    padding: 110px 0;
    position: relative;
}
.ag-section--sm   { padding: 70px 0; }
.ag-section--lg   { padding: 150px 0; }
.ag-section--cream{ background: var(--ag-cream); }
.ag-section--beige{ background: var(--ag-cream-deep); }
.ag-section--dark { background: var(--ag-black); color: var(--ag-white); }
.ag-section--dark h1,
.ag-section--dark h2,
.ag-section--dark h3,
.ag-section--dark p { color: var(--ag-white); }

.ag-section__line {
    width: 1px;
    height: 80px;
    background: var(--ag-line);
    margin: 0 auto;
}
.ag-section__line--beige { background: var(--ag-beige); }

.ag-divider-thin {
    width: 100%;
    height: 1px;
    background: var(--ag-line);
    border: 0;
    margin: 0;
}

/* --------------------------------------------------------------------------
   9. Marquee (texto horizontal infinito)
   -------------------------------------------------------------------------- */
.ag-marquee {
    overflow: hidden;
    width: 100%;
    padding: 28px 0;
    border-top: 1px solid var(--ag-line);
    border-bottom: 1px solid var(--ag-line);
    background: var(--ag-white);
}
.ag-marquee--dark {
    background: var(--ag-black);
    border-color: rgba(255,255,255,0.1);
}
.ag-marquee--dark .ag-marquee__item { color: var(--ag-white); }
.ag-marquee__track {
    display: inline-flex;
    align-items: center;
    gap: 50px;
    white-space: nowrap;
    animation: ag-marquee 38s linear infinite;
    padding-left: 50px;
}
.ag-marquee--slow .ag-marquee__track { animation-duration: 60s; }
.ag-marquee--fast .ag-marquee__track { animation-duration: 22s; }
.ag-marquee:hover .ag-marquee__track { animation-play-state: paused; }
.ag-marquee__item {
    font-family: 'Bon Vivant Family Serif';
    font-style: italic;
    font-weight: 300;
    font-size: 48px;
    color: var(--ag-black);
    line-height: 1;
}
.ag-marquee__item--reg {
    font-style: normal;
    font-family: var(--ag-font-body);
    font-weight: 300;
    font-size: clamp(20px, 2.4vw, 38px);
    letter-spacing: var(--ag-tracking-mid);
    text-transform: uppercase;
}
.ag-marquee__dot {
    font-size: clamp(28px, 4vw, 56px);
    color: var(--ag-beige);
    line-height: 1;
}
@keyframes ag-marquee {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* --------------------------------------------------------------------------
   10. Portfolio grid asimétrico
   -------------------------------------------------------------------------- */
.ag-portfolio-grid {
    position: relative;
}
.ag-portfolio-item {
    position: relative;
    overflow: hidden;
    display: block;
    margin-bottom: 60px;
}
.ag-portfolio-item .img {
    overflow: hidden;
    position: relative;
}
.ag-portfolio-item img {
    transition: transform 1.4s var(--ag-easing), filter .6s var(--ag-easing);
    display: block;
    width: 100%;
}
.ag-portfolio-item:hover img {
    transform: scale(1.05);
    filter: brightness(0.9);
}
.ag-portfolio-item__meta {
    padding: 22px 4px 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
}
.ag-portfolio-item__title {
    font-family: 'Bon Vivant Family Serif';
    font-size: 22px;
    font-weight: 400;
    letter-spacing: 0.02em;
    color: var(--ag-black);
    margin: 0 0 4px;
    line-height: 1.1;
}
.ag-portfolio-item__location {
    font-family: var(--ag-font-body);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: var(--ag-tracking-wide);
    color: var(--ag-gray);
}
.ag-portfolio-item__num {
    font-family: var(--ag-font-body);
    font-size: 10px;
    letter-spacing: var(--ag-tracking-wide);
    color: var(--ag-beige-dark);
}

/* Tarjetas escalonadas (offsets verticales) */
.ag-stagger-up   { margin-top: -60px; }
.ag-stagger-down { margin-top: 80px; }
.ag-stagger-mid  { margin-top: 30px; }

/* --------------------------------------------------------------------------
   11. Imagen + caption tipo dossier
   -------------------------------------------------------------------------- */
.ag-figure {
    position: relative;
    overflow: hidden;
}
.ag-figure img {
    transition: transform 1.6s var(--ag-easing);
    display: block;
    width: 100%;
}
.ag-figure:hover img { transform: scale(1.03); }
.ag-figure__caption {max-width:338px;}
.ag-figure__caption {
    margin-top: 14px;
    font-family: var(--ag-font-body);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: var(--ag-tracking-wide);
    color: var(--ag-gray);
    display: flex;
    justify-content: space-between;
    gap: 12px;
}
.ag-figure__caption strong {
    font-weight: 400;
    color: var(--ag-black);
}

/* --------------------------------------------------------------------------
   12. Bloque "About" / Bio
   -------------------------------------------------------------------------- */
.ag-bio__signature {
    font-family: 'Bon Vivant Family Serif';
    font-style: italic;
    font-weight: 400;
    font-size: 32px;
    color: var(--ag-beige-dark);
    margin: 10px 0;
    line-height: 1;
}
.ag-bio__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid var(--ag-line);
}
.ag-bio__meta-item{
	text-align:center;
}
.ag-bio__meta-item .num {
    font-family: var(--ag-font-display);
    font-size: 50px;
    font-weight: 300;
    color: var(--ag-black);
    line-height: 1;
    display: block;
    margin-bottom: 6px;
}
.ag-bio__meta-item .lbl {
    font-family: var(--ag-font-body);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: var(--ag-tracking-wide);
    color: var(--ag-gray);
}

/* --------------------------------------------------------------------------
   13. Testimonio destacado
   -------------------------------------------------------------------------- */
.ag-testimonial {
    text-align: center;
    max-width: 880px;
    margin: 0 auto;
}
.ag-testimonial__text,
.ag-testimonial__text p {
    font-family: var(--ag-font-body);
    font-style: italic;
    font-weight: 300;
    font-size: 16px;
    line-height: 1.3;
    color: var(--ag-black);
    margin: 0 0 30px;
}
.ag-testimonial__author {
    font-family: var(--ag-font-body);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: var(--ag-tracking-wide);
    color: var(--ag-beige-dark);
}

/* --------------------------------------------------------------------------
   14. FAQ / Accordion
   -------------------------------------------------------------------------- */
.ag-faq {
    background: var(--ag-cream);
    padding: 120px 0;
}
.ag-faq .accordion {
    border: 0;
    margin: 0;
}
.ag-faq .accordion-item {
    border: 0 !important;
    border-bottom: 1px solid var(--ag-line) !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
}
.ag-faq .accordion-item:first-child {
    border-top: 1px solid var(--ag-line) !important;
}
.ag-faq .accordion-title,
.ag-faq .accordion-item .accordion-title {
    font-family: 'Bon Vivant Family Serif' !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    color: var(--ag-black) !important;
    background: transparent !important;
    border: 0 !important;
    padding: 13px 60px 13px 0 !important;
    letter-spacing: -0.005em !important;
    text-transform: none !important;
    line-height: 1.3 !important;
    cursor: pointer;
    position: relative;
    transition: color .35s var(--ag-easing);
}
.ag-faq .accordion-title:hover { color: var(--ag-beige-dark) !important; }
.ag-faq .accordion-title::before,
.ag-faq .accordion-item .toggle {
    display: none !important;
}
.ag-faq .accordion-title::after {
    content: '+';
    font-family: var(--ag-font-body);
    font-size: 22px;
    font-weight: 200;
    color: var(--ag-beige-dark);
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    transition: transform .4s var(--ag-easing), content .4s;
}
.ag-faq .accordion-item.active .accordion-title::after,
.ag-faq .active .accordion-title::after {
    content: '–';
    transform: translateY(-50%) rotate(0deg);
}
.ag-faq .accordion-inner {
    padding: 0 20px 36px 0 !important;
    font-family: var(--ag-font-body) !important;
    font-size: 14px !important;
    font-weight: 300;
    color: var(--ag-black-soft) !important;
    line-height: 1.8;
    max-width: 100%;
}

/* --------------------------------------------------------------------------
   15. Formulario de contacto (Contact Form 7)
   -------------------------------------------------------------------------- */
.ag-form .wpcf7-form { display: block; }
.ag-form .wpcf7-form p {
    display: block;
    margin: 0 0 28px;
    position: relative;
}
.ag-form label,
.ag-form .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}
.ag-form .wpcf7-form-control:not([type=submit]):not([type=checkbox]):not([type=radio]),
.ag-form input[type="text"],
.ag-form input[type="email"],
.ag-form input[type="tel"],
.ag-form input[type="date"],
.ag-form input[type="number"],
.ag-form select,
.ag-form textarea {
    width: 100%;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ag-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 14px 0 !important;
    font-family: var(--ag-font-body) !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    color: var(--ag-black) !important;
    letter-spacing: 0.02em;
    transition: border-color .35s var(--ag-easing);
    margin: 0;
    line-height: 1.4;
    height: auto;
    min-height: auto;
}
.ag-form textarea{height:40px;}
.ag-form input:focus,
.ag-form select:focus,
.ag-form textarea:focus {
    outline: none;
    border-bottom-color: var(--ag-beige-dark) !important;
}
.ag-form textarea { /*min-height: 110px !important;*/ resize: vertical; }
.ag-form ::placeholder {
    color: var(--ag-gray);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: var(--ag-tracking-wide);
    font-weight: 400;
    opacity: 1;
}
.ag-form .ag-form-label {
    display: block;
    font-family: var(--ag-font-body);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: var(--ag-tracking-wide);
    color: var(--ag-gray);
    margin-bottom: 6px;
    font-weight: 400;
}

.ag-form input[type="submit"],
.ag-form .wpcf7-submit {
    background: var(--ag-black) !important;
    color: var(--ag-white) !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 20px 50px !important;
    font-family: var(--ag-font-body) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    text-transform: uppercase;
    letter-spacing: var(--ag-tracking-wide);
    cursor: pointer;
    transition: background .35s var(--ag-easing);
    height: auto !important;
    min-height: auto;
    width: auto !important;
}
.ag-form input[type="submit"]:hover,
.ag-form .wpcf7-submit:hover {
    background: var(--ag-beige-dark) !important;
}

.ag-contact-meta {
    display: flex;
    flex-direction: column;
    gap: 26px;
}
.ag-contact-meta .lbl {
    display: block;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: var(--ag-tracking-wide);
    color: var(--ag-gray);
    margin-bottom: 4px;
}
.ag-contact-meta .val {
    font-family: var(--ag-font-display);
    font-size: 22px;
    font-weight: 400;
    color: var(--ag-black);
    text-decoration: none;
}
.ag-contact-meta a.val:hover { color: var(--ag-beige-dark); }

/* --------------------------------------------------------------------------
   16. Footer
   -------------------------------------------------------------------------- */
.ag-footer {
    background: var(--ag-black);
    color: var(--ag-white);
    padding: 90px 0 30px;
}
.ag-footer * { color: var(--ag-white); }
.ag-footer .ag-logo {
    font-family: 'Bon Vivant Family Serif';
    font-size: 56px;
    font-weight: 300;
    letter-spacing: -0.05em;
    line-height: 1;
}
.ag-footer-eyebrow {
    font-family: var(--ag-font-body);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: var(--ag-tracking-wide);
    color: var(--ag-gray-light);
    margin-bottom: 18px;
    display: block;
}
.ag-footer-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.ag-footer-nav li { margin: 0; }
.ag-footer-nav a {
    font-family: var(--ag-font-body);
    font-size: 12px;
    letter-spacing: var(--ag-tracking-mid);
    text-transform: uppercase;
    color: var(--ag-white);
    text-decoration: none;
    transition: color .3s var(--ag-easing), letter-spacing .3s var(--ag-easing);
}
.ag-footer-nav a:hover {
    color: var(--ag-beige);
    letter-spacing: 0.15em;
}
.ag-footer-meta {
    font-size: 11px;
    color: var(--ag-gray-light);
    letter-spacing: var(--ag-tracking-mid);
}
.ag-footer-meta a { color: var(--ag-gray-light); }
.ag-footer-meta a:hover { color: var(--ag-beige); }
.ag-footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.08);
    padding-top: 30px;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: var(--ag-tracking-wide);
    color: #000000;
}

/* --------------------------------------------------------------------------
   17. Animaciones de scroll (fade-in)
   -------------------------------------------------------------------------- */
/*.ag-fade-in {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 1.2s var(--ag-easing), transform 1.2s var(--ag-easing);
}
.ag-fade-in.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.ag-fade-in--delay-1 { transition-delay: .15s; }
.ag-fade-in--delay-2 { transition-delay: .3s; }
.ag-fade-in--delay-3 { transition-delay: .45s; }*/

/* Reveal con clip-path (más editorial) */
/*.ag-reveal {
    clip-path: inset(0 100% 0 0);
    transition: clip-path 1.4s var(--ag-easing);
}
.ag-reveal.is-visible { clip-path: inset(0 0 0 0); }*/

/* Parallax suave (controlado via .ux-section parallax="X" de flatsome también) */
.ag-parallax img,
.ag-parallax-img {
    will-change: transform;
}

/* --------------------------------------------------------------------------
   18. Press / publicaciones (logos)
   -------------------------------------------------------------------------- */
.ag-press {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 70px;
    padding: 40px 0;
}
.ag-press__item {
    font-family: var(--ag-font-display);
    font-style: italic;
    font-size: 22px;
    color: var(--ag-gray);
    opacity: 0.6;
    transition: opacity .35s var(--ag-easing), color .35s var(--ag-easing);
}
.ag-press__item:hover {
    opacity: 1;
    color: var(--ag-black);
}

/* --------------------------------------------------------------------------
   19. Filtros / Categorías (Portfolio)
   -------------------------------------------------------------------------- */
.ag-cat-nav {
    display: flex;
    justify-content: center;
    gap: 60px;
    list-style: none;
    margin: 0 0 80px;
    padding: 0;
}
.ag-cat-nav li { margin: 0; }
.ag-cat-nav a {
    font-family: var(--ag-font-body);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: var(--ag-tracking-wide);
    color: var(--ag-gray);
    text-decoration: none;
    position: relative;
    padding: 6px 0;
    transition: color .35s var(--ag-easing);
}
.ag-cat-nav a::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 0;
    height: 1px;
    background: var(--ag-beige-dark);
    transition: width .4s var(--ag-easing), left .4s var(--ag-easing);
}
.ag-cat-nav a:hover,
.ag-cat-nav a.is-active {
    color: var(--ag-black);
}
.ag-cat-nav a:hover::after,
.ag-cat-nav a.is-active::after {
    width: 100%;
    left: 0;
}

/* --------------------------------------------------------------------------
   20. Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
    .ag-section { padding: 80px 0; }
    .ag-section--lg { padding: 100px 0; }
    .ag-stagger-up,
    .ag-stagger-down,
    .ag-stagger-mid { margin-top: 0; }
    .ag-bio__meta { gap: 30px; }
    .ag-bio__meta-item .num { font-size: 42px; }
}
@media (max-width: 849px) {
    body { font-size: 13px; }
    .ag-section { padding: 60px 0; }
    .ag-section--lg { padding: 80px 0; }
    .ag-hero { padding: 50px 0 80px; }
    .ag-display { font-size: clamp(40px, 8vw, 80px) !important; }
    .ag-display--md { font-size: clamp(30px, 9vw, 50px) !important; }
    .ag-marquee__item { font-size: clamp(28px, 8vw, 48px); }
    .ag-nav { gap: 22px; }
    .ag-cat-nav { gap: 28px; }
    .ag-faq { padding: 70px 0; }
    .ag-faq .accordion-title { font-size: 18px !important; padding: 24px 50px 24px 0 !important; }
    .ag-footer { padding: 60px 0 20px; }
    .ag-footer .ag-logo { font-size: 36px; }
    .ag-bio__meta { flex-direction: column; gap: 24px; }
    .ag-press { gap: 30px; }
    .ag-portfolio-item { margin-bottom: 30px; }
    .ag-hero__scroll { display: none; }
}

/* --------------------------------------------------------------------------
   19. Dossier de precios — Sesiones (Preboda / Postboda)
   -------------------------------------------------------------------------- */
.ag-display--spaced,
.ag-display--spaced h1,
.ag-display--spaced h2 {
    letter-spacing: 0.32em;
    text-transform: lowercase;
}
.ag-display--spaced .ag-display--spaced-line {
    display: inline-block;
    margin-right: 0.5em;
}

.ag-session-card {
    text-align: center;
    padding: 30px 20px;
}
.ag-session-card__label {
    font-family: var(--ag-font-body);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: var(--ag-tracking-wide);
    color: var(--ag-beige-dark);
    margin-bottom: 24px;
    display: block;
}
.ag-session-card__title {
    font-family: var(--ag-font-display);
    font-size: clamp(36px, 4vw, 56px);
    font-weight: 300;
    color: var(--ag-black);
    margin: 0 0 24px;
    line-height: 1;
    letter-spacing: 0.04em;
}
.ag-session-card__desc {
    font-family: var(--ag-font-body);
    font-size: 13px;
    font-weight: 300;
    line-height: 1.8;
    color: var(--ag-black-soft);
    max-width: 380px;
    margin: 0 auto 30px;
}
.ag-session-card__price {
    font-family: var(--ag-font-display);
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 300;
    color: var(--ag-beige-dark);
    line-height: 0.6;
}

/* --------------------------------------------------------------------------
   20. Dossier de precios — Packs (Crown / Regal / Pure)
   -------------------------------------------------------------------------- */
.ag-packs {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 0;
    margin-top: 60px;
}
.ag-pack {
    flex: 1 1 0;
    background: var(--ag-white);
    border: 1px solid var(--ag-line);
    padding: 50px 36px 44px;
    display: flex;
    flex-direction: column;
    text-align: center;
    position: relative;
    transition: transform .5s var(--ag-easing), box-shadow .5s var(--ag-easing);
}
.ag-pack + .ag-pack { border-left: 0; }
.ag-pack:hover {
    box-shadow: 0 20px 60px -30px rgba(0,0,0,0.12);
}
.ag-pack--featured {
    background: var(--ag-cream);
    border-color: var(--ag-beige);
    transform: scale(1.05);
    z-index: 2;
    padding-top: 60px;
    padding-bottom: 54px;
}
.ag-pack--featured:hover {
    transform: scale(1.06);
}
.ag-pack__num {
    font-family: var(--ag-font-body);
    font-size: 10px;
    letter-spacing: var(--ag-tracking-wide);
    text-transform: uppercase;
    color: var(--ag-beige-dark);
    margin-bottom: 18px;
    display: block;
}
.ag-pack__name {
    font-family: var(--ag-font-display);
    font-size: clamp(30px, 3vw, 42px);
    font-weight: 300;
    color: var(--ag-black);
    letter-spacing: 0.18em;
    margin: 0 0 30px;
    line-height: 1;
    text-transform: uppercase;
}
.ag-pack__features {
    list-style: none;
    margin: 0 0 36px;
    padding: 0;
    flex-grow: 1;
    text-align: left;
}
.ag-pack__features li {
    font-family: var(--ag-font-body);
    font-size: 13px;
    font-weight: 300;
    color: var(--ag-black-soft);
    line-height: 1.7;
    padding: 12px 0 12px 22px;
    border-bottom: 1px solid var(--ag-line);
    position: relative;
}
.ag-pack__features li:last-child { border-bottom: 0; }
.ag-pack__features li::before {
    content: '·';
    position: absolute;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ag-beige-dark);
    font-size: 22px;
    line-height: 1;
}
.ag-pack__price {
    font-family: var(--ag-font-display);
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 300;
    color: var(--ag-black);
    line-height: 1;
    margin: 0;
}
.ag-pack--featured .ag-pack__price { color: var(--ag-beige-dark); }
.ag-pack__vat {
    font-family: var(--ag-font-body);
    font-size: 10px;
    letter-spacing: var(--ag-tracking-wide);
    text-transform: uppercase;
    color: var(--ag-gray);
    margin-top: 10px;
    display: block;
}

/* --------------------------------------------------------------------------
   21. Dossier de precios — Extras
   -------------------------------------------------------------------------- */
.ag-extras {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px 60px;
}
.ag-extras--three { grid-template-columns: repeat(3, 1fr); }
.ag-extra {
    padding: 30px 0 30px 30px;
    border-left: 1px solid var(--ag-line);
    position: relative;
}
.ag-extra__num {
    font-family: var(--ag-font-body);
    font-size: 10px;
    letter-spacing: var(--ag-tracking-wide);
    text-transform: uppercase;
    color: var(--ag-beige-dark);
    margin-bottom: 14px;
    display: block;
}
.ag-extra__title {
    font-family: var(--ag-font-display);
    font-size: clamp(22px, 2vw, 30px);
    font-weight: 400;
    color: var(--ag-black);
    margin: 0 0 16px;
    line-height: 1.1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.ag-extra__desc {
    font-family: var(--ag-font-body);
    font-size: 13px;
    font-weight: 300;
    line-height: 1.75;
    color: var(--ag-black-soft);
    margin: 0 0 20px;
}
.ag-extra__price {
    font-family: var(--ag-font-display);
    font-size: 22px;
    font-weight: 400;
    color: var(--ag-beige-dark);
    line-height: 1;
    display: inline-block;
    border-top: 1px solid var(--ag-line);
    padding-top: 18px;
}
.ag-extra__price-from {
    font-family: var(--ag-font-body);
    font-size: 10px;
    letter-spacing: var(--ag-tracking-wide);
    text-transform: uppercase;
    color: var(--ag-gray);
    margin-right: 8px;
    font-weight: 400;
}

/* --------------------------------------------------------------------------
   22. Cuestionario — Formulario por pasos
   -------------------------------------------------------------------------- */
.ag-form-step {
    padding: 0;
    margin: 0 0 80px;
    position: relative;
	scroll-margin-top: 120px;
}
.ag-form-step + .ag-form-step {
    padding-top: 80px;
    border-top: 1px solid var(--ag-line);
}
.ag-form-step__head {
    margin-bottom: 50px;
    display: flex;
    align-items: flex-start;
    gap: 30px;
    flex-wrap: wrap;
}
.ag-form-step__num {
    font-family: 'Bon Vivant Family Serif';
    font-size: clamp(60px, 7vw, 90px);
    font-weight: 300;
    color: var(--ag-beige);
    line-height: 0.9;
    letter-spacing: -0.02em;
}
.ag-form-step__title {
    font-family: 'Bon Vivant Family Serif';
    font-size: clamp(28px, 3vw, 44px);
    font-weight: 300;
    color: var(--ag-black);
    margin: 0 0 6px;
    line-height: 1.1;
    letter-spacing: -0.01em;
}
.ag-form-step__title em {
    font-style: italic;
    color: var(--ag-beige-dark);
}
.ag-form-step__subtitle {
    font-family: var(--ag-font-body);
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: var(--ag-tracking-wide);
    color: var(--ag-gray);
    margin: 0;
}
.ag-form-substep {
    margin-top: 60px;
    padding-top: 40px;
    border-top: 1px dashed var(--ag-line);
}
.ag-form-substep__title {
    font-family: var(--ag-font-display);
    font-style: italic;
    font-size: clamp(20px, 2vw, 28px);
    font-weight: 400;
    color: var(--ag-black-soft);
    margin: 0 0 36px;
    line-height: 1.2;
}

.ag-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 50px;
}
.ag-form-grid--three { grid-template-columns: repeat(3, 1fr); }
.ag-form-grid--full  { grid-template-columns: 1fr; }
.ag-form-grid .ag-form-row--full { grid-column: 1 / -1; }

.ag-form-row {
    position: relative;
    display: block;
    margin: 0;
}
.ag-form-row .ag-form-label {
    display: block;
    font-family: var(--ag-font-body);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: var(--ag-tracking-wide);
    color: var(--ag-gray);
    margin-bottom: 10px;
    font-weight: 400;
}
.ag-form-row .ag-form-label.is-required::after {
    content: ' *';
    color: var(--ag-beige-dark);
}

.ag-form-intro {
    margin-bottom: 60px;
    max-width: 720px;
}
.ag-form-progress {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: 16px;
	align-self: flex-start;
	z-index: 5;
}
.ag-form-progress a {
    font-family: var(--ag-font-body);
    font-size: 11px;
    letter-spacing: var(--ag-tracking-mid);
    text-transform: uppercase;
    color: var(--ag-gray);
    text-decoration: none;
    padding-left: 18px;
    position: relative;
    line-height: 1.4;
    transition: color .3s var(--ag-easing);
}
.ag-form-progress a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    width: 8px;
    height: 1px;
    background: var(--ag-gray-light);
    transition: width .3s var(--ag-easing), background .3s var(--ag-easing);
}
.ag-form-progress a:hover {
    color: var(--ag-black);
}
.ag-form-progress a:hover::before {
    width: 12px;
    background: var(--ag-beige-dark);
}

.ag-section--sticky-host,
.ag-section--sticky-host > .section-content,
.ag-section--sticky-host .row,
.ag-section--sticky-host > .row,
.ag-section--sticky-host .col,
.ag-section--sticky-host .col-inner {
    overflow: visible !important;
}

@supports (overflow: clip) {
    html,
    body,
    #wrapper,
    #main,
    main {
        overflow-x: clip !important;
        overflow-y: visible !important;
    }
}

.ag-sticky-col {
    align-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
}
.ag-sticky-col > .col-inner {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}
.ag-form-step {
    scroll-margin-top: 120px;
}
.ag-form-progress {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-self: flex-start;
    z-index: 5;
}

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/
	.img-head img{padding-left: 30px;}
	.img-head-interior,.img-head-interior div.img-inner,.img-head-interior img{/*width: 380px !important;min-width: 380px!important;*/width: 100% !important;min-width: 100%!important;height: 500px!important;min-height: 500px!important;}
	.imagen-cuentame,.imagen-cuentame div.img-inner,.imagen-cuentame img{min-height:300px;}
	.img-about-footer,.img-about-footer div.img-inner,.img-about-footer img{max-height: 500px;}
	.ag-form-grid{grid-template-columns: repeat(1, 1fr);}
	body:not(.page-id-22,.page-id-275) form.wpcf7-form > div:not(.ag-form-grid,.wpcf7-response-output){text-align:center!important;display: grid;}
	body.page-id-22 form.wpcf7-form > div{margin-bottom:25px;}
	/*.ag-footer-bottom > div > div.row > div.col{width:50%;}*/
	.ag-footer-bottom > div > div.row{display: flex;flex-wrap: nowrap;}
	.ag-footer-bottom{font-size: 8px;}
	.ag-hero__title{font-size: 50px!important;}
	.tituloFAQ{font-size:110px!important;}
	.ag-about-me{padding-left:0!important;}
	.p-about-footer{padding-left:0px!important;}
	.ag-boton-footer{margin-left:0px!important;}
	.ag-extras{grid-template-columns: repeat(1, 1fr);}
	.ag-extra2{text-align:left!important;border-left: 1px solid var(--ag-line);margin-top: 50px;}
	.img-slide,.img-slide > div > div,.img-slide > div{height: 450px;}
	.img-slide img{min-height: 100%;width:100%;}
	.img-slide{overflow:hidden;}
}
@media (max-width: 1024px) {
    .ag-packs {
        flex-direction: column;
        gap: 30px;
    }
    .ag-pack,
    .ag-pack + .ag-pack {
        border: 1px solid var(--ag-line);
    }
    .ag-pack--featured,
    .ag-pack--featured:hover {
        transform: none;
    }
}
@media only screen and (min-width: 48em) and (max-width: 1024px) {
	.img-head-interior,.img-head-interior div.img-inner,.img-head-interior img{width: 380px !important;height: 500px!important;min-width: 380px!important;min-height: 500px!important;}
	.ag-figure__caption{max-width:380px!important;width:380px!important;}
	.ag-hero__title{font-size: 70px!important;}
	.ag-vertical-label{margin-left: -30px;}
	body.page-id-20 .ag-display:has(em){font-size:22px!important;}
	body.page-id-26 section.ag-hero p.ag-body,
	body.page-id-24 section.ag-hero p.ag-body{width: 380px!important;}
}
/*CAMBIOS*/
.ag-boton-footer{margin-left:48px;}
.p-about-footer{padding-left:48px;}
@media screen and (min-width:48em){
	.img-slide,.img-slide > div > div,.img-slide > div,.img-slide img{height: 750px;width:500px;}
	.img-slide{overflow:hidden;max-height: 750px;}
}
.img-web,.img-web > div > div,.img-web > div,.img-web img{height:655px;max-width:initial!important;width:initial!important;}
.img-web-inicial {
  width: 500px;
  min-width: 500px;
  max-width: 500px !important;
  height: 700px;
  min-height: 700px;
  max-height: 700px;
  overflow: hidden !important;
}

.img-web-inicial .img-inner {
  width: 500px;
  min-width: 500px;
  max-width: 500px;
  height: 700px;
  min-height: 700px;
  max-height: 700px;
  overflow: hidden !important;
}

.img-web-inicial img {
  width: 500px;
  min-width: 500px;
  max-width: none;
  height: 700px;
  min-height: 700px;
  max-height: none;
  object-fit: cover !important;
  object-position: center center;
  display: block;
}
.img-web-about,.img-web-about > div,.img-web-aboutb img{height:650px;width:278px;}
.ag-about-me{padding-left: 48px;padding-bottom: 20px;}
.ag-about-me span{color: #faf8f5;}
#masthead ul.nav-left{justify-content: flex-end!important;}
#masthead ul.nav-right{justify-content: flex-start!important;}
#masthead ul.nav-right .header-social-icons{position: absolute;right: 0;}
/*.seccion-cuentame{max-height:460px;}
.seccion-cuentame img{height:100%;}*/
@media (min-width: 550px) {

  .seccion-cuentame .row {
    display: flex;
    align-items: stretch !important;
  }

  .seccion-cuentame .row > .col {
    display: flex;
  }

  .seccion-cuentame .row > .col > .col-inner {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
  }

  .seccion-cuentame .imagen-cuentame,
  .seccion-cuentame #image_606584009 {
    flex: 1;
    width: 100%;
    height: 100%;
  }

  .seccion-cuentame .imagen-cuentame .img-inner,
  .seccion-cuentame #image_606584009 .img-inner {
    height: 100%;
    min-height: 100%;
    padding-top: 0 !important;
  }

  .seccion-cuentame .imagen-cuentame img,
  .seccion-cuentame #image_606584009 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

}
/*IFRAMES*/
iframe.iframeBoda {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 2000px;
	border: 0;
	overflow: hidden;
}

.iframeBoda,
.iframeBoda-wrapper,
.iframeBoda-container {
	max-height: none !important;
	overflow: visible !important;
}

/*MULTIIDIOMA*/
/* Idioma actual: ocultar texto y dejar bandera + flecha */
/*.header-language-dropdown__link {
    font-size: 0 !important;
}

.header-language-dropdown__link .image-icon img {
    width: 18px !important;
    height: auto !important;
    display: block !important;
}

.header-language-dropdown__link .icon-angle-down {
    font-size: 14px !important;
    margin-left: 4px;
}*/


/* Dropdown: ocultar texto pero mantener las banderas */
/*.header-language-dropdown .nav-dropdown a {
    font-size: 0 !important;
}

.header-language-dropdown .nav-dropdown .icon-image {
    display: inline-block !important;
    margin: 0 !important;
}

.header-language-dropdown .nav-dropdown .icon-image img {
    width: 18px !important;
    height: auto !important;
    display: block !important;
}*/


/* Hacer el desplegable compacto */
.header-language-dropdown .nav-dropdown {
    min-width: 50px !important;
    width: 50px !important;
    padding: 8px 0 !important;
}

.header-language-dropdown .nav-dropdown > li > a {
    padding: 8px 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}
.header-language-dropdown i.image-icon,
#ux-language-dropdown i.icon-image{display:none!important;}