/* Juliana Nails Workshops – native Gutenberg, no slider runtime. */
.jnds-workshops-page,
.jnds-workshops-page * { box-sizing: border-box; }

.jnds-workshops-page {
    --jnws-max: 1600px;
    --jnws-content: 1260px;
    --jnws-side: clamp(18px, 3vw, 34px);
    --jnws-pink: #e271a1;
    --jnws-pink-soft: #f8f0f3;
    --jnws-pink-line: #efd7df;
    --jnws-ink: #171516;
    --jnws-muted: #6c6669;
    width: 100%;
    margin: 0;
    padding: 0 0 72px;
    color: var(--jnws-ink);
    font-family: Montserrat, Arial, sans-serif;
}

/* Shoptimizer full-width/no-heading still carries a constrained .col-full rail. */
body.jnds-workshops-page-active .site-content > .col-full,
body.jnds-workshops-page-active .site-content .col-full,
body.jnds-workshops-page-active .site-content .content-area,
body.jnds-workshops-page-active .site-content #primary,
body.jnds-workshops-page-active .site-content .site-main,
body.jnds-workshops-page-active .site-content #main,
body.jnds-workshops-page-active .site-content article.type-page,
body.jnds-workshops-page-active .site-content article.page,
body.jnds-workshops-page-active .site-content .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}
body.jnds-workshops-page-active .site-main > article > .entry-header,
body.jnds-workshops-page-active .content-area > .site-main > .entry-header,
body.jnds-workshops-page-active .content-area > .site-main > article > .entry-header { display:none !important; }

.jnds-workshops-shell {
    width: min(var(--jnws-max), calc(100vw - (var(--jnws-side) * 2))) !important;
    max-width: var(--jnws-max) !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.jnds-workshops-hero { padding-top: clamp(10px, 1.5vw, 22px); }
.jnds-workshops-hero__picture { display:block; width:100%; }
.jnds-workshops-hero__picture img {
    display:block;
    width:100%;
    height:auto;
    max-height:610px;
    object-fit:cover;
    border-radius:20px;
}
.jnds-workshops-intro {
    width: min(var(--jnws-content), 100%) !important;
    margin: 0 auto !important;
    padding: clamp(30px, 4vw, 58px) 0 12px;
}
.jnds-workshops-eyebrow {
    margin:0 0 9px !important;
    color:var(--jnws-pink) !important;
    font-size:12px !important;
    line-height:1.35 !important;
    font-weight:800 !important;
    letter-spacing:.11em;
    text-transform:uppercase;
}
.jnds-workshops-title {
    max-width: 1000px;
    margin:0 0 14px !important;
    font-size:clamp(32px, 4vw, 54px) !important;
    line-height:1.02 !important;
    font-weight:900 !important;
    letter-spacing:-.035em;
}
.jnds-workshops-lead,
.jnds-workshops-section__lead {
    max-width: 820px;
    margin:0 !important;
    color:var(--jnws-muted);
    font-size:clamp(15px, 1.3vw, 17px) !important;
    line-height:1.65 !important;
}

.jnds-workshops-section {
    width:100%;
    padding: clamp(52px, 6vw, 92px) 0;
}
.jnds-workshops-section--tint,
.jnds-workshops-section--team { background:var(--jnws-pink-soft); }
.jnds-workshops-section__title {
    margin:0 0 12px !important;
    font-size:clamp(28px, 3vw, 42px) !important;
    line-height:1.08 !important;
    font-weight:900 !important;
    letter-spacing:-.025em;
}
.jnds-workshops-section__lead { margin-bottom:28px !important; }

.jnds-workshop-track,
.jnds-workshop-people,
.jnds-workshop-reviews {
    width:100%;
    margin:30px 0 0 !important;
}
.jnds-workshop-track--easy { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.jnds-workshop-track--advanced { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }

.jnds-workshop-card {
    min-width:0;
    overflow:hidden;
    border:1px solid var(--jnws-pink-line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 34px rgba(48,30,39,.055);
}
.jnds-workshop-card__image { margin:0 !important; }
.jnds-workshop-card__image img {
    display:block;
    width:100%;
    aspect-ratio: 4 / 3;
    object-fit:cover;
    border-radius:0 !important;
}
.jnds-workshop-card__details { margin:0 !important; border:0 !important; }
.jnds-workshop-card__details summary {
    position:relative;
    padding:20px 48px 20px 20px;
    color:var(--jnws-ink);
    font-size:17px;
    line-height:1.35;
    font-weight:900;
    cursor:pointer;
    list-style:none;
}
.jnds-workshop-card__details summary::-webkit-details-marker { display:none; }
.jnds-workshop-card__details summary::after {
    content:'+';
    position:absolute;
    top:50%; right:20px;
    width:26px; height:26px;
    margin-top:-13px;
    border-radius:50%;
    background:var(--jnws-pink-soft);
    color:var(--jnws-pink);
    font:900 20px/26px Arial,sans-serif;
    text-align:center;
}
.jnds-workshop-card__details[open] summary::after { content:'−'; }
.jnds-workshop-card__details > p {
    margin:0 !important;
    padding:0 20px 16px;
    color:#555054;
    font-size:14px;
    line-height:1.65;
}
.jnds-workshop-card__details > p:last-child { padding-bottom:22px; }

/* Booking section: only Amelia carries its own runtime; JNDS adds no JS. */
.jnds-workshops-booking { background:#171516; color:#fff; }
.jnds-workshops-booking .jnds-workshops-eyebrow { color:#f59abb !important; }
.jnds-workshops-booking .jnds-workshops-section__title,
.jnds-workshops-booking .jnds-workshops-section__lead { color:#fff !important; }
.jnds-workshops-booking__intro {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(300px, .68fr);
    gap:34px;
    align-items:center;
    margin-bottom:28px !important;
}
.jnds-workshops-booking__image { margin:0 !important; }
.jnds-workshops-booking__image img {
    display:block;
    width:100%;
    aspect-ratio: 16/9;
    object-fit:cover;
    border-radius:18px;
}
.jnds-workshops-booking__form {
    padding:clamp(14px,2vw,24px);
    border-radius:20px;
    background:#fff;
    color:var(--jnws-ink);
}
.jnds-workshops-booking__form > .wp-block-shortcode { margin:0 !important; }
.jnds-workshops-booking .amelia-v2-booking #amelia-container,
.jnds-workshops-booking #amelia-container {
    width:100% !important;
    max-width:none !important;
    margin:0 auto !important;
}

/* Text-only testimonials replace the old heavy portrait carousel. */
.jnds-workshop-reviews {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.jnds-workshop-review {
    min-width:0;
    margin:0 !important;
    padding:24px !important;
    border:1px solid #eee4e8;
    border-radius:16px;
    background:#fff;
    box-shadow:none;
}
.jnds-workshop-review p {
    margin:0 0 18px !important;
    color:#373235;
    font-size:14px;
    line-height:1.62;
}
.jnds-workshop-review cite {
    color:var(--jnws-ink);
    font-style:normal;
    font-size:13px;
    font-weight:800;
}
.jnds-workshop-review cite span { display:block; margin-top:4px; color:var(--jnws-pink); letter-spacing:.08em; }

.jnds-workshop-people {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}
.jnds-workshop-person {
    display:grid !important;
    grid-template-columns:minmax(180px,.72fr) minmax(0,1fr);
    align-items:stretch;
    min-width:0;
    overflow:hidden;
    border:1px solid #eadde2;
    border-radius:20px;
    background:#fff;
}
.jnds-workshop-person__image { margin:0 !important; height:100%; }
.jnds-workshop-person__image img { display:block; width:100%; height:100%; min-height:360px; object-fit:cover; border-radius:0 !important; }
.jnds-workshop-person__body { padding:30px !important; }
.jnds-workshop-person__name { margin:0 0 4px !important; font-size:25px !important; line-height:1.1 !important; font-weight:900 !important; }
.jnds-workshop-person__store { margin:0 0 18px !important; color:var(--jnws-pink) !important; font-size:13px !important; font-weight:800 !important; text-transform:uppercase; letter-spacing:.08em; }
.jnds-workshop-person__copy { margin:0 0 12px !important; color:#555054; font-size:14px !important; line-height:1.65 !important; }

@media (max-width: 1100px) {
    .jnds-workshop-track--easy { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .jnds-workshop-reviews { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .jnds-workshop-people { grid-template-columns:1fr; }
}

@media (max-width: 780px) {
    .jnds-workshops-page { padding-bottom:48px; }
    .jnds-workshops-shell { width:calc(100vw - 32px) !important; }
    .jnds-workshops-hero { padding-top:10px; }
    .jnds-workshops-hero__picture img { border-radius:16px; }
    .jnds-workshops-intro { padding-top:28px; }
    .jnds-workshops-title { font-size:34px !important; }
    .jnds-workshops-section { padding:50px 0; }
    .jnds-workshops-section__lead { margin-bottom:20px !important; }

    /* Native horizontal scrolling replaces both Elementor carousels. */
    .jnds-workshop-track,
    .jnds-workshop-reviews {
        display:flex !important;
        gap:14px;
        overflow-x:auto;
        padding:2px 2px 14px !important;
        scroll-snap-type:x mandatory;
        overscroll-behavior-x:contain;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
    }
    .jnds-workshop-track::-webkit-scrollbar,
    .jnds-workshop-reviews::-webkit-scrollbar { display:none; }
    .jnds-workshop-track > .jnds-workshop-card,
    .jnds-workshop-reviews > .jnds-workshop-review {
        flex:0 0 min(84vw, 360px);
        scroll-snap-align:start;
    }

    .jnds-workshops-booking__intro { grid-template-columns:1fr; gap:20px; }
    .jnds-workshops-booking__image { order:-1; }
    .jnds-workshops-booking__form { padding:10px; border-radius:16px; }

    .jnds-workshop-people { display:block !important; }
    .jnds-workshop-person { grid-template-columns:1fr; margin-bottom:18px !important; }
    .jnds-workshop-person__image img { min-height:0; aspect-ratio:4/3; }
    .jnds-workshop-person__body { padding:24px !important; }
}

@media (max-width: 480px) {
    .jnds-workshops-shell { width:calc(100vw - 24px) !important; }
    .jnds-workshops-title { font-size:30px !important; }
    .jnds-workshops-section__title { font-size:28px !important; }
    .jnds-workshop-card__details summary { font-size:16px; }
    .jnds-workshop-track > .jnds-workshop-card,
    .jnds-workshop-reviews > .jnds-workshop-review { flex-basis:88vw; }
}

/* =========================================================
   RC103 - Workshop layout polish
   - true edge-to-edge hero banner
   - intro aligned to the same left rail as the page sections
   - Advanced cards start and end on the same height
   - testimonials become a native, zero-JS horizontal slider
   ========================================================= */

/* Hero: deliberately break out of the content rail and touch both viewport edges. */
.jnds-workshops-page .jnds-workshops-hero.jnds-workshops-shell {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-top: 0 !important;
}
.jnds-workshops-page .jnds-workshops-hero__picture img {
    width: 100% !important;
    max-width: none !important;
    border-radius: 0 !important;
}

/* The copy below the hero uses the exact same left/right rail as all sections. */
.jnds-workshops-page .jnds-workshops-intro {
    width: min(var(--jnws-max), calc(100vw - (var(--jnws-side) * 2))) !important;
    max-width: var(--jnws-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Gutenberg flow margins must not offset individual cards. */
.jnds-workshops-page .jnds-workshop-track > .jnds-workshop-card {
    margin: 0 !important;
}
.jnds-workshops-page .jnds-workshop-track--advanced {
    align-items: stretch !important;
}
.jnds-workshops-page .jnds-workshop-track--advanced > .jnds-workshop-card {
    display: flex !important;
    flex-direction: column;
    height: 100%;
}
.jnds-workshops-page .jnds-workshop-track--advanced .jnds-workshop-card__image {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}
.jnds-workshops-page .jnds-workshop-track--advanced .jnds-workshop-card__image img {
    width: 100%;
    height: 100% !important;
    aspect-ratio: auto !important;
    object-fit: cover;
}
.jnds-workshops-page .jnds-workshop-track--advanced .jnds-workshop-card__details {
    margin-top: auto !important;
}

/*
 * Testimonials: one native scroll-snap rail instead of a very tall grid.
 * No carousel library and no JNDS JavaScript; mouse wheel/trackpad/touch keep
 * native browser scrolling and keyboard users can tab through the quotes.
 */
.jnds-workshops-page .jnds-workshop-reviews {
    display: flex !important;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2px 2px 18px !important;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 2px;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--jnws-pink) #f5edf0;
}
.jnds-workshops-page .jnds-workshop-reviews::-webkit-scrollbar {
    height: 7px;
}
.jnds-workshops-page .jnds-workshop-reviews::-webkit-scrollbar-track {
    background: #f5edf0;
    border-radius: 99px;
}
.jnds-workshops-page .jnds-workshop-reviews::-webkit-scrollbar-thumb {
    background: var(--jnws-pink);
    border-radius: 99px;
}
.jnds-workshops-page .jnds-workshop-reviews > .jnds-workshop-review {
    flex: 0 0 calc((100% - 32px) / 3);
    min-width: 0;
    min-height: 210px;
    scroll-snap-align: start;
    scroll-snap-stop: normal;
}

@media (max-width: 1100px) {
    .jnds-workshops-page .jnds-workshop-reviews > .jnds-workshop-review {
        flex-basis: calc((100% - 16px) / 2);
    }
}

@media (max-width: 780px) {
    .jnds-workshops-page .jnds-workshops-intro {
        width: calc(100vw - 32px) !important;
    }
    .jnds-workshops-page .jnds-workshop-reviews {
        padding-bottom: 14px !important;
        scrollbar-width: none;
    }
    .jnds-workshops-page .jnds-workshop-reviews::-webkit-scrollbar {
        display: none;
    }
    .jnds-workshops-page .jnds-workshop-reviews > .jnds-workshop-review {
        flex-basis: min(84vw, 360px);
        min-height: 0;
    }
}

@media (max-width: 480px) {
    .jnds-workshops-page .jnds-workshops-intro {
        width: calc(100vw - 24px) !important;
    }
    .jnds-workshops-page .jnds-workshop-reviews > .jnds-workshop-review {
        flex-basis: 88vw;
    }
}

/* =========================================================
   RC104 - independent course cards + testimonial arrows
   - opening one Details card no longer stretches neighbours
   - applies to Easy Start and Advanced Class grids
   - lightweight controls for the native review scroll rail
   ========================================================= */

/* Grid rows may grow for the opened card, but neighbouring cards stay compact. */
.jnds-workshops-page .jnds-workshop-track--easy,
.jnds-workshops-page .jnds-workshop-track--advanced {
    align-items: start !important;
}

.jnds-workshops-page .jnds-workshop-track--easy > .jnds-workshop-card,
.jnds-workshops-page .jnds-workshop-track--advanced > .jnds-workshop-card {
    align-self: start !important;
    height: auto !important;
}

/* Undo the RC103 flex stretching on Advanced cards. Closed cards remain visually
 * aligned because their images and summary rows share the same dimensions. */
.jnds-workshops-page .jnds-workshop-track--advanced > .jnds-workshop-card {
    display: block !important;
}
.jnds-workshops-page .jnds-workshop-track--advanced .jnds-workshop-card__details {
    margin-top: 0 !important;
}

/* Review rail navigation. JS only adds these controls on the workshop page. */
.jnds-workshops-page .jnds-workshop-reviews-wrap {
    position: relative;
    width: 100%;
    margin-top: 30px;
}
.jnds-workshops-page .jnds-workshop-reviews-wrap > .jnds-workshop-reviews {
    margin-top: 0 !important;
}
.jnds-workshops-page .jnds-workshop-reviews-arrow {
    position: absolute;
    z-index: 4;
    top: 50%;
    width: 46px;
    height: 46px;
    margin: 0;
    padding: 0;
    transform: translateY(-50%);
    border: 1px solid #eadde2;
    border-radius: 999px;
    background: #fff;
    color: var(--jnws-ink);
    box-shadow: 0 8px 24px rgba(48,30,39,.12);
    font: 700 22px/44px Arial, sans-serif;
    text-align: center;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.jnds-workshops-page .jnds-workshop-reviews-arrow--prev { left: -23px; }
.jnds-workshops-page .jnds-workshop-reviews-arrow--next { right: -23px; }
.jnds-workshops-page .jnds-workshop-reviews-arrow:hover:not(:disabled) {
    transform: translateY(-50%) scale(1.04);
    box-shadow: 0 10px 28px rgba(48,30,39,.16);
}
.jnds-workshops-page .jnds-workshop-reviews-arrow:focus-visible {
    outline: 3px solid rgba(226,113,161,.35);
    outline-offset: 3px;
}
.jnds-workshops-page .jnds-workshop-reviews-arrow:disabled {
    opacity: .34;
    cursor: default;
    box-shadow: none;
}

@media (max-width: 780px) {
    /* Touch is the primary control on mobile; keep the interface uncluttered. */
    .jnds-workshops-page .jnds-workshop-reviews-arrow {
        display: none;
    }
}
