/*
 Theme Name: Sucoyia Love Child
 Theme URI: https://www.sucoyialove.com/
 Description: Custom child theme for Sucoyia Love based on Kadence.
 Author: Roy Arellano (Arellano Ventures, LLC)
 Author URI: https://www.royarellano.com
 Template: Kadence
 Version: 1.0.17
 Text Domain: sucoyia-love-child
*/

:root {
    --sl-pink: #f6d6de;
    --sl-pink-dark: #f3c2cd;
    --sl-pink-soft: #fbe7ed;
    --sl-hot-pink: #ff4fa0;
    --sl-black: #111111;
    --sl-white: #ffffff;
    --sl-content-font: Aptos, "Aptos Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    --sl-display-font: "Cormorant Garamond", Georgia, serif;
    --sl-title-font: "Rochester", cursive;
    --sl-max-width: 1280px;
    --sl-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    --sl-transition: 220ms ease;
}

html,
body {
    margin: 0;
    padding: 0;
    min-height: 100%;
    color: var(--sl-black);
    font-family: var(--sl-content-font);
    background: var(--sl-pink);
}

body,
p,
li,
a,
input,
textarea,
select,
button,
label,
blockquote,
figcaption,
td,
th {
    font-family: var(--sl-content-font);
    color: var(--sl-black);
}

h1,
h2,
h3,
h4,
h5,
h6,
.wp-block-heading,
.site-main h1,
.site-main h2,
.site-main h3,
.site-main h4,
.site-main h5,
.site-main h6,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    font-family: var(--sl-display-font);
    color: var(--sl-black);
    font-weight: 500;
}

.site-title,
.page-title,
.entry-hero h1,
h1.entry-title {
    font-family: var(--sl-title-font) !important;
    color: var(--sl-black);
    font-weight: 400;
    letter-spacing: 0;
}

.site-title {
    font-size: 30px !important;
    line-height: 1.2;
}

.page-title,
.entry-hero h1,
h1.entry-title {
    font-size: 42px !important;
    line-height: 1.02 !important;
    margin-bottom: 8px !important;
}

.entry-hero,
.page-hero-section,
.entry-hero-container-inner {
    padding-top: 24px !important;
    padding-bottom: 18px !important;
}

.site,
.site-content,
.content-area,
.site-main,
.entry-content,
.wp-site-blocks,
.content-bg,
.site-container,
.site-footer-wrap,
.site-footer-row-container-inner,
.kb-row-layout-wrap,
.kb-row-layout-inner,
.entry-hero-container-inner,
.content-wrap,
main,
article,
.page,
.page-content-wrap,
.content-container {
    background: transparent !important;
    background-color: transparent !important;
}

.site-header,
.site-header-wrap,
.site-header-row-container,
.site-header-row-container-inner {
    background: rgba(255,255,255,0.78) !important;
    background-color: rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: none;
    border: 0;
}

.site-header a,
.site-header a:link,
.site-header a:visited,
.main-navigation a,
.main-navigation a:link,
.main-navigation a:visited,
.header-navigation a,
.header-navigation a:link,
.header-navigation a:visited,
.menu a,
.menu a:link,
.menu a:visited {
    font-family: var(--sl-content-font);
    color: var(--sl-black) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.10em !important;
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: color var(--sl-transition), opacity var(--sl-transition);
}

.site-header a:hover,
.site-header a:focus,
.main-navigation a:hover,
.main-navigation a:focus,
.header-navigation a:hover,
.header-navigation a:focus,
.menu a:hover,
.menu a:focus {
    color: var(--sl-hot-pink) !important;
    text-decoration: none !important;
}

.sucoyia-home {
    min-height: 100vh;
}

.sl-container {
    width: min(100% - 40px, var(--sl-max-width));
    margin: 0 auto;
}

.sl-section {
    padding: 72px 0;
}

.sl-center {
    text-align: center;
}

.sl-center-v {
    display: flex;
    align-items: center;
    justify-content: center;
}

.sl-mt-32 {
    margin-top: 32px;
}

.sl-script-label {
    margin: 0 0 10px;
    font-family: var(--sl-title-font);
    color: #de7ea0;
    font-size: 2rem;
    line-height: 1;
}

.sl-brand-title {
    font-size: clamp(3.8rem, 6vw, 5.6rem);
    margin: 0 0 10px;
    line-height: 0.95;
}

.sl-byline {
    margin: 0 0 18px;
    font-size: 1.18rem;
    font-weight: 600;
    color: var(--sl-black);
}

.sl-headline-emphasis {
    font-style: italic;
    font-weight: 500;
}

/* HERO */
.sl-hero {
    min-height: 88vh;
    display: grid;
    grid-template-columns: 54% 46%;
    background: var(--sl-pink-dark);
    overflow: hidden;
    align-items: stretch;
}

.sl-hero-copy {
    display: flex;
    align-items: flex-start;
    background: var(--sl-pink-dark);
    min-height: 88vh;
}

.sl-hero-copy-inner {
    width: 100%;
    max-width: 780px;
    padding: 24px 56px 68px 132px;
    box-sizing: border-box;
}

.sl-hero-photo-panel {
    position: relative;
    min-height: 88vh;
    height: 100%;
    overflow: hidden;
    background: var(--sl-pink-dark);
}

.sl-hero-photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.sl-headline {
    margin: 0 0 16px;
    font-size: clamp(2.2rem, 3.6vw, 3.5rem);
    line-height: 1.02;
    font-weight: 500;
    max-width: 760px;
}

.sl-subtext {
    margin: 0 0 28px;
    font-size: 1.12rem;
    line-height: 1.7;
    max-width: 640px;
}

.sl-hero-logo-wrap {
    margin: 0 0 18px;
}

.sl-hero-logo {
    display: block;
    width: min(100%, 360px);
    height: auto;
}

/* BUTTONS */
.sl-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.sl-hero-actions-center {
    justify-content: center;
}

.sl-button {
    display: inline-block;
    padding: 16px 30px;
    border-radius: 2px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.82rem;
    font-weight: 700;
    transition: transform var(--sl-transition), box-shadow var(--sl-transition), background-color var(--sl-transition), color var(--sl-transition), border-color var(--sl-transition);
    border: 1.5px solid var(--sl-black);
    box-shadow: 0 8px 22px rgba(17,17,17,0.05);
}

.sl-button:hover,
.sl-button:focus {
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(17,17,17,0.1);
}

.sl-button-primary {
    background: var(--sl-black);
    color: var(--sl-white);
    border-color: var(--sl-black);
}

.sl-button-primary:hover,
.sl-button-primary:focus {
    background: #252525;
    border-color: #252525;
    color: var(--sl-white);
}

.sl-button-secondary {
    background: transparent;
    color: var(--sl-black);
    border-color: #de7ea0;
}

.sl-button-secondary:hover,
.sl-button-secondary:focus {
    background: var(--sl-pink-dark);
    border-color: #de7ea0;
    color: var(--sl-black);
}

/* ABOUT */
.sl-two-col {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 36px;
    align-items: stretch;
}

.sl-about .sl-section-intro {
    border-left: 2px solid #de7ea0;
    padding-left: 22px;
}

.sl-about h2,
.sl-contact-copy h2,
.sl-portfolio-copy h2 {
    margin: 0 0 14px;
    font-size: clamp(2.5rem, 3.4vw, 3.3rem);
    line-height: 1.02;
    font-weight: 500;
}

.sl-about p {
    max-width: 560px;
}

/* SERVICES */
.sl-services-preview {
    background: #fbf3f5;
}

.sl-services-preview h2,
.sl-video-examples h2,
.sl-bundles h2 {
    margin: 0 0 14px;
    font-size: clamp(2.5rem, 3.4vw, 3.3rem);
    line-height: 1.02;
}

.sl-card-grid {
    display: grid;
    gap: 24px;
    margin-top: 26px;
}

.sl-card-grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.sl-card-grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }

.sl-card {
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(222,126,160,0.25);
    border-radius: 6px;
    padding: 28px 24px;
    box-shadow: none;
    text-align: center;
}

.sl-card-icon {
    font-size: 1.7rem;
    color: #de7ea0;
    margin-bottom: 14px;
}

.sl-card h3 {
    margin: 0 0 12px;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-family: var(--sl-content-font);
    font-weight: 700;
}

.sl-card p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.65;
}

/* VIDEO EXAMPLES */
.sl-video-examples {
    background: var(--sl-pink);
}

.sl-video-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 18px;
    margin-top: 24px;
}

.sl-video-card {
    position: relative;
    overflow: hidden;
    border-radius: 6px;
    background: #ddd;
    aspect-ratio: 16 / 9;
}

.sl-video-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sl-play {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(255,255,255,0.88);
    color: #de7ea0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    box-shadow: 0 6px 18px rgba(0,0,0,.15);
}

/* BUNDLES */
.sl-bundles {
    background: #fbf6f7;
}

.sl-bundle-card ul {
    list-style: none;
    margin: 18px 0 0;
    padding: 0;
    text-align: left;
}

.sl-bundle-card li {
    position: relative;
    padding-left: 18px;
    margin-bottom: 10px;
    line-height: 1.5;
}

.sl-bundle-card li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #de7ea0;
    font-weight: 700;
}

.sl-bundles-note {
    margin: 26px 0 22px;
    text-align: center;
}

.sl-bundle-sub {
    font-size: 0.9rem;
    margin-bottom: 12px;
    color: #444;
}

.sl-badge {
    font-size: 0.65rem;
    text-transform: uppercase;
    background: #de7ea0;
    color: #fff;
    padding: 4px 8px;
    margin-left: 8px;
    letter-spacing: 0.08em;
}

.sl-bundles-cta {
    margin-top: 12px;
    font-weight: 600;
    color: var(--sl-black);
}

.sl-bundles-cta a {
    color: var(--sl-black);
    text-decoration: none;
    border-bottom: 1px solid #de7ea0;
    transition: color 0.2s ease, border-color 0.2s ease;
}

.sl-bundles-cta a:hover {
    color: var(--sl-hot-pink);
    border-color: var(--sl-hot-pink);
}

/* PORTFOLIO */
.sl-portfolio-preview {
    background: var(--sl-pink);
}

.sl-portfolio-row {
    display: grid;
    grid-template-columns: 0.9fr 2.1fr;
    gap: 28px;
    align-items: center;
}

.sl-portfolio-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 12px;
}

.sl-portfolio-grid img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 4px;
    display: block;
}

/* CONTACT */
.sl-contact-band {
    background: #f3cad3;
    padding: 28px 0 0;
    overflow: hidden;
}

.sl-contact-row {
    display: grid;
    grid-template-columns: 0.9fr 1.2fr 0.9fr;
    gap: 28px;
    align-items: center;
}

.sl-contact-copy {
    padding-right: 10px;
}

.sl-contact-form-wrap {
    background: transparent;
    align-self: center;
}

.sl-contact-copy p {
    max-width: 280px;
}

.sl-keep-in-touch {
    margin-top: 20px;
    font-size: 2.1rem;
}

.sl-social-row {
    display: flex;
    gap: 14px;
    margin-top: 18px;
}

.sl-social-row a {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(222,126,160,0.45);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #de7ea0;
    text-decoration: none;
    background: rgba(255,255,255,0.42);
}

/* CONTACT IMAGE */
.sl-contact-photo {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    overflow: visible;
    min-height: 520px;
    align-self: end;
}

.sl-contact-photo img {
    display: block;
    width: auto;
    max-width: none;
    height: 520px;
    object-fit: contain;
    object-position: bottom right;
    margin-left: auto;
    transform: translateY(0) scale(1);
}

/* UTILITIES */
.sl-section-link { margin-top: 24px; }
.sl-section-link a { font-weight: 700; text-decoration: none; border-bottom: 1px solid var(--sl-black); }

a {
    color: var(--sl-black);
    text-decoration-color: var(--sl-pink-dark);
}

a:hover,
a:focus {
    color: var(--sl-hot-pink);
}

button,
.wp-block-button__link,
input[type="submit"],
input[type="button"],
input[type="reset"] {
    background: var(--sl-black);
    color: var(--sl-white);
    border: 1px solid var(--sl-black);
    border-radius: 2px;
    font-family: var(--sl-content-font);
}

button:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover {
    background: #252525;
    border-color: #252525;
    color: var(--sl-white);
}

input,
textarea,
select {
    font-family: var(--sl-content-font);
    border-radius: 2px;
    border: 1px solid rgba(17,17,17,0.12);
    background: rgba(255,255,255,0.86);
}

.site-footer,
.site-footer a {
    color: var(--sl-black);
    font-family: var(--sl-content-font);
}

@media (max-width: 1200px) {
    .sl-hero-copy-inner { padding: 72px 40px 68px 84px; }
    .sl-card-grid-4 { grid-template-columns: repeat(2, minmax(0,1fr)); }

    .sl-contact-row {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .sl-contact-photo {
        justify-content: center;
        min-height: auto;
    }

    .sl-contact-photo img { 
        margin: 0 auto; 
        max-height: 420px; 
        height: auto; 
        transform: none; 
    }
}

@media (max-width: 900px) {
    .sl-hero {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .sl-hero-photo-panel {
        min-height: 58vh;
        order: 1;
    }

    .sl-hero-copy {
        order: 2;
        min-height: auto;
    }

    .sl-hero-copy-inner {
        margin: 0 auto;
        padding: 56px 28px;
        text-align: center;
    }

    .sl-subtext,
    .sl-headline { max-width: none; }

    .sl-hero-actions { justify-content: center; }

    .sl-two-col,
    .sl-portfolio-row { grid-template-columns: 1fr; }

    .sl-video-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .sl-card-grid-3,
    .sl-card-grid-4,
    .sl-portfolio-grid { grid-template-columns: 1fr 1fr; }

    .sl-contact-row {
        grid-template-columns: 1fr;
    }

    .sl-contact-photo {
        justify-content: center;
        min-height: auto;
    }

    .sl-contact-photo img { 
        height: auto; 
        max-height: 420px; 
        margin: 0 auto; 
        transform: none;
    }
}

@media (max-width: 768px) {
    .site-title,
    .page-title,
    .entry-hero h1,
    h1.entry-title { font-size: 24px !important; }

    .sl-section { padding: 64px 0; }
    .sl-script-label { font-size: 1.7rem; }
    .sl-brand-title { font-size: 2.6rem; }
    .sl-headline { font-size: 2.6rem; }

    .sl-subtext,
    .sl-section p,
    .sl-card p,
    .sl-bundles-note { font-size: 1rem; }

    .sl-video-grid,
    .sl-card-grid-3,
    .sl-card-grid-4,
    .sl-portfolio-grid { grid-template-columns: 1fr; }

    .sl-button {
        width: 100%;
        text-align: center;
    } 
    
    .sl-contact-band { 
        padding: 56px 0 0; 
        overflow: hidden; 
    } 
    
    .sl-contact-row { 
        display: grid; 
        grid-template-columns: 1fr !important; 
        gap: 32px; 
        align-items: start; 
    } 
    
    .sl-contact-copy { 
        order: 1; 
        padding: 0; 
        text-align: center; 
    } 
    
    .sl-contact-copy p { 
        max-width: 100%; 
    } 
    
    .sl-social-row { 
        justify-content: center; 
    } 
    
    .sl-contact-form-wrap { 
        order: 2; 
        max-width: 100% !important; 
        width: 100% !important; 
        padding: 16px !important; 
    }
    
    .sl-contact-photo { 
        order: 3; 
        min-height: 0; 
        justify-content: center; 
        align-items: flex-end; 
        overflow: hidden; 
    } 
    
    .sl-contact-photo img { 
        display: block; 
        width: auto; 
        max-width: 115%; 
        height: auto; 
        max-height: none; 
        margin: 0 auto -1px; 
        transform: translateY(18px); 
    }

    .sl-contact-form-wrap .wpforms-field { 
        width: 100% !important; 
    } 
    
    .sl-contact-form-wrap .wpforms-container { 
        max-width: 100% !important; 
    } 
    
    .sl-contact-form-wrap button[type="submit"], 
    .sl-contact-form-wrap .wpforms-submit { 
        width: 100% !important; 
    }
}

/* FORM CONTROL (WPForms) */

.sl-contact-form-wrap {
    align-self: center;
    max-width: 520px;
    width: 100%;
    padding: 18px 20px;
    background: rgba(255,255,255,0.14);
    border: 1px solid rgba(255,255,255,0.22);
    border-radius: 10px;
    box-sizing: border-box;
}

.sl-contact-form-wrap .wpforms-container {
    max-width: 460px;
    margin: 0 auto;
    padding: 0 !important;
}

.sl-contact-form-wrap .wpforms-form {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 !important;
}

.sl-contact-form-wrap .wpforms-field {
    width: 48% !important;
    margin-bottom: 10px;
}

.sl-contact-form-wrap .wpforms-field-textarea,
.sl-contact-form-wrap .wpforms-submit-container {
    width: 100% !important;
}

.sl-contact-form-wrap .wpforms-field-label {
    font-size: 0.82rem !important;
    line-height: 1.2 !important;
    margin: 0 0 5px !important;
    font-weight: 700 !important;
}

/* Name: first name full row, last name full row */
.sl-contact-form-wrap .wpforms-field-name .wpforms-field-row {
    display: block !important;
    max-width: 100% !important;
}

.sl-contact-form-wrap .wpforms-field-name .wpforms-field-row-block {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 0 10px !important;
}

.sl-contact-form-wrap .wpforms-field-name .wpforms-field-row-block:last-child {
    margin-bottom: 0 !important;
}

.sl-contact-form-wrap .wpforms-field-sublabel {
    font-size: 0.72rem !important;
    margin-top: 3px !important;
    opacity: 0.7;
}

.sl-contact-form-wrap input,
.sl-contact-form-wrap textarea,
.sl-contact-form-wrap select {
    width: 100% !important;
    min-height: 38px;
}

.sl-contact-form-wrap textarea {
    height: 105px !important;
    min-height: 105px !important;
}

.sl-contact-form-wrap select {
    height: 40px !important;
}

.sl-contact-form-wrap .wpforms-submit-container {
    width: 100% !important;
    padding: 4px 0 0 !important;
    margin: 0 !important;
}

.sl-contact-form-wrap button[type="submit"],
.sl-contact-form-wrap .wpforms-submit {
    width: auto !important;
    min-width: 150px;
    padding: 12px 22px !important;
    background: var(--sl-black) !important;
    color: var(--sl-white) !important;
    border: 1px solid var(--sl-black) !important;
    border-radius: 2px !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
}

.sl-contact-form-wrap .cf-turnstile,
.sl-contact-form-wrap iframe {
    max-width: 100% !important;
}

/* FINAL MOBILE CONTACT FORM OVERRIDES */
@media (max-width: 768px) {
    .sl-contact-form-wrap .wpforms-field {
        width: 100% !important;
    }

    .sl-contact-form-wrap .wpforms-container {
        max-width: 100% !important;
    }

    .sl-contact-form-wrap button[type="submit"],
    .sl-contact-form-wrap .wpforms-submit {
        width: 100% !important;
    }
}

/* INNER PAGE TITLE SPACING ONLY */
body:not(.home) .entry-hero,
body:not(.home) .page-hero-section,
body:not(.home) .entry-hero-container-inner {
    padding-top: 12px !important;
    padding-bottom: 10px !important;
}

body:not(.home) .page-title,
body:not(.home) .entry-hero h1,
body:not(.home) h1.entry-title {
    margin-top: 0 !important;
    margin-bottom: 4px !important;
    line-height: 1 !important;
}

/* FINAL FORM POLISH */

/* Homepage contact form: make all fields full width inside the box */
.sl-contact-form-wrap .wpforms-field {
    width: 100% !important;
}

/* RTQ page form box */
body:not(.home) .wpforms-container {
    max-width: 620px;
    margin: 24px auto 48px !important;
    padding: 24px 26px !important;
    background: rgba(255,255,255,0.42);
    border: 1px solid rgba(222,126,160,0.28);
    border-radius: 10px;
    box-sizing: border-box;
}

/* RTQ page fields full width */
body:not(.home) .wpforms-container .wpforms-field,
body:not(.home) .wpforms-container input,
body:not(.home) .wpforms-container textarea,
body:not(.home) .wpforms-container select {
    width: 100% !important;
    box-sizing: border-box;
}

/* TIGHTER INNER PAGE TITLE AREA */
body:not(.home) .entry-hero,
body:not(.home) .page-hero-section,
body:not(.home) .entry-hero-container-inner {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body:not(.home) .page-title,
body:not(.home) .entry-hero h1,
body:not(.home) h1.entry-title {
    margin: 0 !important;
    line-height: 0.95 !important;
}

/* CONTACT BAND TITLE */
.sl-contact-copy h2 {
    font-size: clamp(3rem, 4vw, 3.8rem) !important;
}

/* RTQ CHECKBOX/RADIO LIST FIX */
body:not(.home) .wpforms-container ul,
body:not(.home) .wpforms-container ul li {
    list-style: none !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
}

body:not(.home) .wpforms-container .wpforms-field-checkbox ul li,
body:not(.home) .wpforms-container .wpforms-field-radio ul li {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
}

body:not(.home) .wpforms-container .wpforms-field-checkbox input,
body:not(.home) .wpforms-container .wpforms-field-radio input {
    width: auto !important;
    min-height: auto !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
}

body:not(.home) .wpforms-container .wpforms-field-checkbox label,
body:not(.home) .wpforms-container .wpforms-field-radio label {
    width: auto !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}