/* =========================================================
   YIWU SUPERSTAR
   TOURISM SOUVENIRS STANDARD PRODUCT TEMPLATE V1
   CPT: ys_product
   File: product-page.css

   Structure:
   01 Astra Reset / Variables
   02 Hero
   03 Tourism Paper System
   04 Product Overview + 3 Benefits
   05 Product Information
   06 Product Gallery (3 x 2)
   07 Five Detail Cards
   08 Travel CTA
   09 Contact + Inquiry Form
   10 Responsive
   ========================================================= */

/* =========================================================
   01. ASTRA RESET + GLOBAL VARIABLES
   ========================================================= */
body.single-ys_product .site-content,
body.single-ys_product .site-content > .ast-container,
body.single-ys_product #primary {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
}

body.single-ys_product .site-content > .ast-container {
    display: block;
}

body.single-ys_product #secondary {
    display: none;
}

body.single-ys_product .ys-product-page {
    --ys-navy: #082743;
    --ys-navy-2: #123b60;
    --ys-gold: #c78712;
    --ys-gold-dark: #a96800;
    --ys-cream: #f8f0e3;
    --ys-paper: #fbf5e9;
    --ys-paper-2: #f4eadb;
    --ys-paper-3: #efe1cd;
    --ys-text: #263f57;
    --ys-text-soft: #536b7f;
    --ys-border: rgba(165, 123, 69, 0.24);
    --ys-shadow: 0 8px 24px rgba(46, 38, 28, 0.07);

    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    color: var(--ys-text);
    font-size: 16px;
    line-height: 1.65;
}

body.single-ys_product .ys-product-page *,
body.single-ys_product .ys-product-page *::before,
body.single-ys_product .ys-product-page *::after {
    box-sizing: border-box;
}

body.single-ys_product .ys-product-container {
    width: min(1500px, calc(100% - 64px));
    margin-left: auto;
    margin-right: auto;
}

body.single-ys_product .ys-product-page h1,
body.single-ys_product .ys-product-page h2,
body.single-ys_product .ys-product-page h3,
body.single-ys_product .ys-product-page p,
body.single-ys_product .ys-product-page ul {
    margin-top: 0;
}

body.single-ys_product .ys-product-page h1,
body.single-ys_product .ys-product-page h2,
body.single-ys_product .ys-product-page h3 {
    color: var(--ys-navy);
    font-weight: 700;
}

body.single-ys_product .ys-product-page h1::before,
body.single-ys_product .ys-product-page h1::after,
body.single-ys_product .ys-product-page h2::before,
body.single-ys_product .ys-product-page h2::after,
body.single-ys_product .ys-product-page h3::before,
body.single-ys_product .ys-product-page h3::after {
    display: none !important;
    content: none !important;
}

/* =========================================================
   BUTTONS
   ========================================================= */
body.single-ys_product .ys-product-page .ys-product-button,
body.single-ys_product .ys-product-form-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 26px;
    border: 1px solid var(--ys-gold);
    border-radius: 9px;
    background: linear-gradient(180deg, #cf9018 0%, #b87300 100%);
    color: #fff !important;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: 0 7px 18px rgba(169, 104, 0, 0.18);
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

body.single-ys_product .ys-product-page .ys-product-button:hover,
body.single-ys_product .ys-product-page .ys-product-button:focus,
body.single-ys_product .ys-product-form-submit:hover,
body.single-ys_product .ys-product-form-submit:focus {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(169, 104, 0, 0.24);
    background: linear-gradient(180deg, #d69b28 0%, #bf7c08 100%);
}

/* =========================================================
   02. HERO
   Desktop keeps the already-approved warm 4:3 layout.
   ========================================================= */
















/* =========================================================
   03. TOURISM PAPER SYSTEM
   ========================================================= */
body.single-ys_product .ys-tourism-paper {
    position: relative;
    isolation: isolate;
    background:
        radial-gradient(circle at 8% 8%, rgba(199,135,18,.06) 0, transparent 24%),
        radial-gradient(circle at 92% 18%, rgba(170,120,72,.05) 0, transparent 24%),
        repeating-linear-gradient(0deg, rgba(117,84,44,.012) 0, rgba(117,84,44,.012) 1px, transparent 1px, transparent 5px),
        #fbf5e9;
}

body.single-ys_product .ys-tourism-paper::before {
    content: "";
    position: absolute;
    inset: 12px;
    z-index: 20;
    border: 1px dashed rgba(182, 135, 78, .28);
    border-radius: 18px;
    pointer-events: none;
}

body.single-ys_product .ys-tourism-section {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 40px 0;
}

body.single-ys_product .ys-tourism-heading {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 0 25px;
    padding: 0 0 15px;
    text-align: center;
}

body.single-ys_product .ys-tourism-heading::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 36px;
    height: 1px;
    background: var(--ys-gold);
    transform: translateX(-50%);
    box-shadow: 0 0 0 1px rgba(199,135,18,.05);
}

body.single-ys_product .ys-tourism-heading::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -2px;
    z-index: 2;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--ys-gold);
    transform: translateX(-50%);
}

body.single-ys_product .ys-tourism-heading h2 {
    margin: 0;
    color: var(--ys-navy);
    font-family: inherit;
    font-size: clamp(30px, 2.3vw, 40px);
    line-height: 1.12;
    letter-spacing: -.018em;
}

body.single-ys_product .ys-tourism-heading-icon {
    flex: 0 0 39px;
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    color: var(--ys-gold);
}

body.single-ys_product .ys-tourism-heading-icon svg {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.45;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Subtle travel decorations */
body.single-ys_product .ys-travel-stamp,
body.single-ys_product .ys-travel-postmark,
body.single-ys_product .ys-travel-ticket {
    position: absolute;
    z-index: 0;
    color: rgba(166, 114, 45, .20);
    border-color: rgba(166, 114, 45, .20);
    font-family: inherit;
    font-weight: 700;
    letter-spacing: .08em;
    text-align: center;
    pointer-events: none;
    user-select: none;
}

body.single-ys_product .ys-travel-stamp {
    width: 92px;
    height: 92px;
    display: grid;
    place-items: center;
    border: 2px solid currentColor;
    border-radius: 50%;
    font-size: 10px;
    line-height: 1.35;
    transform: rotate(-12deg);
}

body.single-ys_product .ys-travel-stamp::after {
    content: "✦";
    position: absolute;
    top: 31px;
    left: 0;
    right: 0;
    font-size: 17px;
}

body.single-ys_product .ys-travel-stamp--explore {
    top: 24px;
    left: 34px;
}

body.single-ys_product .ys-travel-stamp--memories {
    top: 20px;
    right: 34px;
    transform: rotate(11deg);
}

body.single-ys_product .ys-travel-postmark {
    top: 28px;
    right: 50px;
    padding: 9px 13px;
    border: 2px solid currentColor;
    border-radius: 7px;
    font-size: 10px;
    line-height: 1.25;
    transform: rotate(9deg);
}

body.single-ys_product .ys-travel-postmark::before {
    content: "≈  ≈  ≈";
    position: absolute;
    right: 100%;
    top: 16px;
    width: 80px;
    font-size: 18px;
    letter-spacing: 0;
}

body.single-ys_product .ys-travel-ticket {
    top: 16px;
    left: 30px;
    padding: 8px 11px;
    border: 1px dashed currentColor;
    border-radius: 4px;
    font-size: 9px;
    line-height: 1.2;
    transform: rotate(-8deg);
}

/* =========================================================
   04. PRODUCT OVERVIEW + 3 CORE BENEFITS
   ========================================================= */
body.single-ys_product .ys-overview-suite {
    padding-top: 48px;
    padding-bottom: 34px;
}

body.single-ys_product .ys-overview-heading {
    margin-bottom: 22px;
}

body.single-ys_product .ys-overview-points {
    width: min(930px, 100%);
    margin: 0 auto 28px;
    padding: 0;
    list-style: none;
}

body.single-ys_product .ys-overview-points li {
    position: relative;
    margin: 0 0 15px;
    padding-left: 28px;
    color: #344f65;
    font-size: 16px;
    line-height: 1.62;
}

body.single-ys_product .ys-overview-points li:last-child {
    margin-bottom: 0;
}

body.single-ys_product .ys-overview-points li::before {
    content: "";
    position: absolute;
    top: .72em;
    left: 3px;
    width: 7px;
    height: 7px;
    border: 2px solid var(--ys-gold);
    border-radius: 50%;
    transform: translateY(-50%);
}

body.single-ys_product .ys-overview-benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

body.single-ys_product .ys-overview-benefit-card {
    position: relative;
    min-height: 164px;
    display: grid;
    grid-template-columns: 66px minmax(0,1fr);
    gap: 18px;
    align-items: start;
    padding: 26px 27px;
    overflow: hidden;
    background: rgba(255, 252, 246, .88);
    border: 1px solid var(--ys-border);
    border-radius: 14px;
    box-shadow: var(--ys-shadow);
}

body.single-ys_product .ys-overview-benefit-card::after {
    content: "";
    position: absolute;
    right: -25px;
    bottom: -34px;
    width: 115px;
    height: 115px;
    border: 1px solid rgba(199,135,18,.09);
    border-radius: 50%;
    box-shadow: inset 0 0 0 11px rgba(199,135,18,.018), inset 0 0 0 24px rgba(199,135,18,.018);
}

body.single-ys_product .ys-overview-benefit-card--1::after {
    border-radius: 46% 54% 63% 37%;
}

body.single-ys_product .ys-benefit-icon {
    position: relative;
    z-index: 2;
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    color: var(--ys-gold-dark);
    background: #fbf1dd;
    border: 1px solid rgba(199,135,18,.36);
    border-radius: 50%;
}

body.single-ys_product .ys-benefit-icon svg {
    width: 32px;
    height: 32px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.single-ys_product .ys-benefit-icon img {
    display: block;
    width: 33px;
    height: 33px;
    object-fit: contain;
}

body.single-ys_product .ys-benefit-content {
    position: relative;
    z-index: 2;
    padding-top: 3px;
}

body.single-ys_product .ys-benefit-content h3 {
    margin: 0 0 9px;
    font-family: inherit;
    font-size: 22px;
    line-height: 1.18;
}

body.single-ys_product .ys-overview-benefit-description {
    color: #53687b;
    font-size: 14.5px;
    line-height: 1.52;
}

body.single-ys_product .ys-overview-benefit-description p {
    margin: 0;
}

body.single-ys_product .ys-overview-fallback-content {
    width: min(980px, 100%);
    margin: 0 auto;
    color: var(--ys-text-soft);
    text-align: center;
}

/* =========================================================
   05. PRODUCT INFORMATION
   ========================================================= */
body.single-ys_product .ys-product-info-section {
    padding-top: 28px;
    padding-bottom: 36px;
}

body.single-ys_product .ys-product-info-heading {
    margin-bottom: 22px;
}

body.single-ys_product .ys-product-spec-grid {
    width: min(1280px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
    background: rgba(255, 252, 247, .56);
    border: 1px solid rgba(174, 129, 71, .15);
    border-radius: 14px;
}

body.single-ys_product .ys-product-spec-card {
    min-width: 0;
    min-height: 148px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 16px 10px 14px;
    background: rgba(255, 252, 246, .90);
    border: 1px solid rgba(174, 129, 71, .25);
    border-radius: 11px;
    text-align: center;
}

body.single-ys_product .ys-product-spec-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    margin-bottom: 10px;
    color: var(--ys-gold-dark);
}

body.single-ys_product .ys-product-spec-icon svg {
    width: 31px;
    height: 31px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.55;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.single-ys_product .ys-product-spec-icon img {
    display: block;
    width: 35px;
    height: 35px;
    object-fit: contain;
}

body.single-ys_product .ys-product-spec-label {
    margin: 0 0 7px;
    color: var(--ys-navy);
    font-family: inherit;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 700;
}

body.single-ys_product .ys-product-spec-value {
    color: #4f6578;
    font-size: 13.5px;
    line-height: 1.48;
    overflow-wrap: anywhere;
}

body.single-ys_product .ys-product-process-item {
    display: block;
}

body.single-ys_product .ys-product-process-item + .ys-product-process-item {
    margin-top: 3px;
}

/* =========================================================
   06. PRODUCT GALLERY — 3 x 2 WITH CAPTIONS
   ========================================================= */
body.single-ys_product .ys-product-gallery-section {
    padding-top: 28px;
    padding-bottom: 34px;
}

body.single-ys_product .ys-product-gallery {
    width: min(1020px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px 28px;
}

body.single-ys_product .ys-product-gallery-item {
    margin: 0;
    min-width: 0;
    text-align: center;
}

body.single-ys_product .ys-product-gallery-frame {
    padding: 9px;
    overflow: hidden;
    background: rgba(255, 252, 247, .92);
    border: 1px solid rgba(174, 129, 71, .22);
    border-radius: 14px;
    box-shadow: 0 7px 18px rgba(54, 44, 30, .055);
}

body.single-ys_product .ys-product-gallery-image {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 9px;
    background: #f5eee4;
}

body.single-ys_product .ys-product-gallery-caption {
    min-height: 27px;
    padding: 7px 5px 0;
    color: var(--ys-navy);
    font-family: inherit;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 700;
    text-align: center;
}

/* =========================================================
   07. FIVE STANDARD DETAIL CARDS
   ========================================================= */
body.single-ys_product .ys-product-detail-grid-section {
    padding-top: 18px;
    padding-bottom: 38px;
}

body.single-ys_product .ys-product-detail-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

body.single-ys_product .ys-product-detail-card {
    position: relative;
    min-width: 0;
    min-height: 330px;
    padding: 18px 16px 21px;
    overflow: hidden;
    background: rgba(255, 252, 246, .78);
    border: 1px dashed rgba(174, 129, 71, .42);
    border-radius: 14px;
}

body.single-ys_product .ys-product-detail-card::after {
    position: absolute;
    right: 10px;
    bottom: 6px;
    z-index: 0;
    color: rgba(170, 120, 72, .12);
    font-size: 72px;
    line-height: 1;
    font-weight: 400;
    pointer-events: none;
}

body.single-ys_product .ys-product-detail-card--applications::after { content: "⌖"; }
body.single-ys_product .ys-product-detail-card--customization::after { content: "✣"; }
body.single-ys_product .ys-product-detail-card--craftsmanship::after { content: "≋"; }
body.single-ys_product .ys-product-detail-card--quality::after { content: "✓"; }
body.single-ys_product .ys-product-detail-card--packaging::after { content: "□"; }

body.single-ys_product .ys-product-detail-icon {
    position: relative;
    z-index: 2;
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    margin: 0 auto 12px;
    color: #fff;
    background: var(--ys-navy-2);
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(8,39,67,.13);
}

body.single-ys_product .ys-product-detail-icon svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.55;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.single-ys_product .ys-product-detail-icon img {
    display: block;
    width: 28px;
    height: 28px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

body.single-ys_product .ys-product-detail-title {
    position: relative;
    z-index: 2;
    margin: 0 0 13px;
    min-height: 42px;
    color: var(--ys-navy);
    font-family: inherit;
    font-size: 17px;
    line-height: 1.18;
    text-align: center;
}

body.single-ys_product .ys-product-detail-content {
    position: relative;
    z-index: 2;
    color: #344f65;
    font-size: 13px;
    line-height: 1.48;
}

body.single-ys_product .ys-product-detail-content p {
    margin: 0 0 10px;
}

body.single-ys_product .ys-product-detail-content ul,
body.single-ys_product .ys-product-detail-content ol {
    margin: 0;
    padding-left: 17px;
}

body.single-ys_product .ys-product-detail-content li {
    margin: 0 0 5px;
}

body.single-ys_product .ys-product-detail-content li::marker {
    color: var(--ys-navy-2);
}

/* =========================================================
   08. TRAVEL CTA — PHASE 1 FIXED PARIS / LONDON ART
   ========================================================= */
body.single-ys_product .ys-product-cta {
    padding-top: 10px;
    padding-bottom: 20px;
}

body.single-ys_product .ys-product-cta-inner {
    position: relative;
    min-height: 238px;
    display: grid;
    grid-template-columns: minmax(320px, .95fr) minmax(390px, 1.10fr) minmax(320px, .95fr);
    align-items: center;
    gap: clamp(8px, 1vw, 14px);
    padding: 22px 24px;
    overflow: hidden;
    background:
        radial-gradient(circle at 15% 20%, rgba(199,135,18,.11), transparent 28%),
        radial-gradient(circle at 86% 70%, rgba(104,75,38,.08), transparent 28%),
        #f5e7d1;
    border: 1px solid rgba(163, 116, 59, .30);
    border-radius: 16px;
    box-shadow: inset 0 0 0 5px rgba(255,255,255,.22), 0 8px 24px rgba(65,49,31,.07);
}

body.single-ys_product .ys-product-cta-copy {
    position: relative;
    z-index: 3;
    min-width: 0;
    text-align: center;
}

body.single-ys_product .ys-product-cta-copy h2 {
    width: min(500px, 100%);
    margin: 0 auto 10px;
    color: var(--ys-navy);
    font-family: inherit;
    font-size: clamp(30px, 2.5vw, 40px);
    line-height: 1.08;
    letter-spacing: -.02em;
}

body.single-ys_product .ys-product-cta-copy p {
    width: min(470px, 100%);
    margin: 0 auto 16px;
    color: #4d6274;
    font-size: 14px;
    line-height: 1.5;
}

body.single-ys_product .ys-cta-visual {
    position: relative;
    z-index: 2;
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: center;
}

body.single-ys_product .ys-cta-visual--left {
    justify-content: flex-start;
}

body.single-ys_product .ys-cta-visual--right {
    justify-content: flex-end;
}

body.single-ys_product .ys-cta-visual img {
    display: block;
    width: min(100%, 430px);
    height: auto;
    max-width: none;
    object-fit: contain;
}

body.single-ys_product .ys-cta-visual--left img {
    transform: translateX(4px);
}

body.single-ys_product .ys-cta-visual--right img {
    transform: translateX(-4px);
}

/* =========================================================
   09. CONTACT + FIVE-FIELD INQUIRY FORM
   ========================================================= */
body.single-ys_product .ys-product-inquiry-section {
    padding-top: 10px;
    padding-bottom: 52px;
}

body.single-ys_product .ys-product-inquiry-grid {
    display: grid;
    grid-template-columns: minmax(280px, .34fr) minmax(0, 1fr);
    gap: 18px;
    align-items: stretch;
}

body.single-ys_product .ys-product-contact-card,
body.single-ys_product .ys-product-form-card {
    position: relative;
    overflow: hidden;
    background: rgba(255, 250, 241, .92);
    border: 1px solid rgba(164,118,62,.28);
    border-radius: 15px;
    box-shadow: 0 8px 22px rgba(52,43,31,.065);
}

body.single-ys_product .ys-product-contact-card {
    padding: 35px 30px 28px;
}

body.single-ys_product .ys-airmail-stripes {
    position: absolute;
    inset: 0;
    pointer-events: none;
    border: 10px solid transparent;
    border-image: repeating-linear-gradient(135deg, #b86f54 0 8px, #f4ead8 8px 16px, #315774 16px 24px, #f4ead8 24px 32px) 12;
    opacity: .62;
}

body.single-ys_product .ys-contact-stamp {
    position: absolute;
    top: 26px;
    right: 28px;
    padding: 8px 10px;
    color: rgba(8,39,67,.32);
    border: 1px solid rgba(8,39,67,.24);
    font-family: inherit;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .09em;
    transform: rotate(6deg);
}

body.single-ys_product .ys-product-contact-card h2,
body.single-ys_product .ys-form-heading h2 {
    margin: 0;
    color: var(--ys-navy);
    font-family: inherit;
}

body.single-ys_product .ys-product-contact-card h2 {
    padding-right: 88px;
    margin-bottom: 13px;
    font-size: 26px;
    line-height: 1.12;
}

body.single-ys_product .ys-contact-intro {
    margin: 0 0 20px;
    max-width: 350px;
    color: #53687a;
    font-size: 13.5px;
    line-height: 1.55;
}

body.single-ys_product .ys-contact-list {
    position: relative;
    z-index: 2;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.single-ys_product .ys-contact-list li {
    display: grid;
    grid-template-columns: 30px minmax(0,1fr);
    gap: 10px;
    align-items: start;
    margin-bottom: 13px;
}

body.single-ys_product .ys-contact-icon {
    width: 27px;
    height: 27px;
    display: grid;
    place-items: center;
    color: var(--ys-navy-2);
    border: 1px solid rgba(8,39,67,.22);
    border-radius: 50%;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
}

body.single-ys_product .ys-contact-list strong {
    display: block;
    margin-bottom: 1px;
    color: var(--ys-navy);
    font-size: 12px;
    line-height: 1.3;
}

body.single-ys_product .ys-contact-list a,
body.single-ys_product .ys-contact-list li > div > span {
    display: block;
    color: #4a6377;
    font-size: 12.5px;
    line-height: 1.4;
    text-decoration: none;
    overflow-wrap: anywhere;
}

body.single-ys_product .ys-contact-list a:hover {
    color: var(--ys-gold-dark);
}

body.single-ys_product .ys-contact-response {
    margin: 18px 0 0;
    max-width: 300px;
    color: #6b635b;
    font-family: inherit;
    font-size: 13px;
    line-height: 1.45;
    font-style: italic;
}

body.single-ys_product .ys-contact-round-stamp {
    position: absolute;
    right: 22px;
    bottom: 20px;
    width: 84px;
    height: 84px;
    display: grid;
    place-items: center;
    color: rgba(151,104,45,.22);
    border: 2px solid currentColor;
    border-radius: 50%;
    font-family: inherit;
    font-size: 9px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: .08em;
    text-align: center;
    transform: rotate(-10deg);
}

body.single-ys_product .ys-product-form-card {
    padding: 29px 32px 31px;
}

body.single-ys_product .ys-form-heading {
    position: relative;
    margin-bottom: 22px;
    padding-bottom: 13px;
    text-align: center;
}

body.single-ys_product .ys-form-heading::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 34px;
    height: 1px;
    background: var(--ys-gold);
    transform: translateX(-50%);
}

body.single-ys_product .ys-form-heading h2 {
    font-size: 27px;
    line-height: 1.15;
}

body.single-ys_product .ys-product-inquiry-form {
    position: relative;
}

body.single-ys_product .ys-form-row--two {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

body.single-ys_product .ys-form-field {
    display: block;
    margin-bottom: 15px;
}

body.single-ys_product .ys-form-field > span {
    display: block;
    margin-bottom: 6px;
    color: #314d64;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 700;
}

body.single-ys_product .ys-form-field em {
    color: #bd5a45;
    font-style: normal;
}

body.single-ys_product .ys-form-field input,
body.single-ys_product .ys-form-field textarea {
    display: block;
    width: 100%;
    margin: 0;
    padding: 11px 12px;
    border: 1px solid rgba(144,112,74,.26);
    border-radius: 7px;
    outline: 0;
    background: rgba(255,255,255,.55);
    color: #2e465b;
    font: inherit;
    font-size: 13px;
    box-shadow: none;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

body.single-ys_product .ys-form-field input {
    height: 43px;
}

body.single-ys_product .ys-form-field textarea {
    min-height: 112px;
    resize: vertical;
}

body.single-ys_product .ys-form-field input:focus,
body.single-ys_product .ys-form-field textarea:focus {
    border-color: rgba(199,135,18,.65);
    background: #fffdf9;
    box-shadow: 0 0 0 3px rgba(199,135,18,.08);
}

body.single-ys_product .ys-product-form-submit {
    width: 100%;
    border: 0;
    margin-top: 1px;
}

body.single-ys_product .ys-product-form-submit span {
    margin-left: 8px;
    font-size: 18px;
}

body.single-ys_product .ys-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

body.single-ys_product .ys-inquiry-notice {
    margin: 0 0 17px;
    padding: 11px 13px;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.45;
}

body.single-ys_product .ys-inquiry-notice--success {
    background: #edf6ec;
    border: 1px solid #b9d8b5;
    color: #315d2b;
}

body.single-ys_product .ys-inquiry-notice--error {
    background: #fbefed;
    border: 1px solid #e4c2bc;
    color: #824b42;
}

/* =========================================================
   10. RESPONSIVE — LARGE TABLET
   ========================================================= */
@media (max-width: 1180px) {
    body.single-ys_product .ys-product-container {
        width: min(1100px, calc(100% - 44px));
    }

    body.single-ys_product .ys-product-spec-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
    }

    body.single-ys_product .ys-product-detail-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
    }

    body.single-ys_product .ys-product-detail-card {
        min-height: 300px;
    }

    body.single-ys_product .ys-product-cta-inner {
        grid-template-columns: minmax(240px, .9fr) minmax(360px, 1.15fr) minmax(240px, .9fr);
        gap: 8px;
        padding-left: 18px;
        padding-right: 18px;
    }

    body.single-ys_product .ys-cta-visual img {
        width: min(100%, 340px);
    }
}

/* =========================================================
   TABLET
   ========================================================= */
@media (max-width: 921px) {
    body.single-ys_product .ys-product-container {
        width: min(760px, calc(100% - 36px));
    }

    

    

    

    

    

    

    body.single-ys_product .ys-tourism-paper::before {
        display: none;
    }

    body.single-ys_product .ys-travel-stamp,
    body.single-ys_product .ys-travel-postmark,
    body.single-ys_product .ys-travel-ticket {
        opacity: .5;
    }

    body.single-ys_product .ys-overview-benefits-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    body.single-ys_product .ys-overview-benefit-card {
        min-height: 0;
    }

    body.single-ys_product .ys-product-gallery {
        grid-template-columns: repeat(2, minmax(0,1fr));
        width: 100%;
        gap: 18px;
    }

    body.single-ys_product .ys-product-detail-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    body.single-ys_product .ys-product-detail-card {
        min-height: 290px;
    }

    body.single-ys_product .ys-product-cta-inner {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 34px 28px;
    }

    body.single-ys_product .ys-cta-visual {
        display: none;
    }

    body.single-ys_product .ys-product-inquiry-grid {
        grid-template-columns: 1fr;
    }

    body.single-ys_product .ys-product-contact-card {
        min-height: 360px;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 600px) {
    body.single-ys_product .ys-product-container {
        width: calc(100% - 28px);
    }

    body.single-ys_product .ys-product-page {
        font-size: 15px;
    }

    

    

    

    

    body.single-ys_product .ys-tourism-section {
        padding: 30px 0;
    }

    body.single-ys_product .ys-tourism-heading {
        gap: 7px;
        margin-bottom: 20px;
        padding-bottom: 12px;
    }

    body.single-ys_product .ys-tourism-heading h2 {
        font-size: 28px;
    }

    body.single-ys_product .ys-tourism-heading-icon {
        width: 31px;
        height: 31px;
        flex-basis: 31px;
    }

    body.single-ys_product .ys-tourism-heading-icon svg {
        width: 28px;
        height: 28px;
    }

    body.single-ys_product .ys-travel-stamp,
    body.single-ys_product .ys-travel-postmark,
    body.single-ys_product .ys-travel-ticket {
        display: none;
    }

    body.single-ys_product .ys-overview-points li {
        padding-left: 23px;
        font-size: 14.5px;
        line-height: 1.58;
    }

    body.single-ys_product .ys-overview-benefit-card {
        grid-template-columns: 52px minmax(0,1fr);
        gap: 13px;
        padding: 20px;
    }

    body.single-ys_product .ys-benefit-icon {
        width: 48px;
        height: 48px;
    }

    body.single-ys_product .ys-benefit-icon svg {
        width: 27px;
        height: 27px;
    }

    body.single-ys_product .ys-benefit-content h3 {
        font-size: 19px;
    }

    body.single-ys_product .ys-product-spec-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
        padding: 10px;
    }

    body.single-ys_product .ys-product-spec-card {
        min-height: 135px;
        padding: 13px 8px;
    }

    body.single-ys_product .ys-product-gallery {
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 13px 10px;
    }

    body.single-ys_product .ys-product-gallery-frame {
        padding: 6px;
        border-radius: 11px;
    }

    body.single-ys_product .ys-product-gallery-caption {
        font-size: 12.5px;
    }

    body.single-ys_product .ys-product-detail-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    body.single-ys_product .ys-product-detail-card {
        min-height: 0;
        padding: 19px 18px 22px;
    }

    body.single-ys_product .ys-product-detail-title {
        min-height: 0;
        font-size: 19px;
    }

    body.single-ys_product .ys-product-detail-content {
        font-size: 13.5px;
    }

    body.single-ys_product .ys-product-cta-inner {
        min-height: 0;
        padding: 30px 20px;
    }

    body.single-ys_product .ys-product-cta-copy h2 {
        font-size: 31px;
    }

    body.single-ys_product .ys-product-contact-card,
    body.single-ys_product .ys-product-form-card {
        padding: 28px 20px 25px;
    }

    body.single-ys_product .ys-form-row--two {
        grid-template-columns: 1fr;
        gap: 0;
    }

    body.single-ys_product .ys-product-contact-card {
        min-height: 0;
    }

    body.single-ys_product .ys-contact-round-stamp {
        opacity: .55;
    }
}

/* =========================================================
   FINAL 2026-08-23 — user review corrections
   Keep this block last so the approved geometry wins the legacy cascade.
   ========================================================= */
html body.single-ys_product #primary.ys-product-page .ys-hero-photo-window {
    width: 92% !important;
    height: 92% !important;
}

@media (min-width: 1025px) {
    /* Skyline tips meet the overview card; Details keeps the shared section gap. */
    html body.single-ys_product #primary.ys-product-page .ys-v10-cityline {
        margin-top: -12px !important;
        margin-bottom: 4px !important;
    }

    /* Place the aircraft in the left gutter beside the first gallery row. */
    html body.single-ys_product #primary.ys-product-page #gallery.ys-product-gallery-section::before {
        display: block !important;
        top: 180px !important;
        left: -108px !important;
        width: 272px !important;
        height: 272px !important;
    }

    /* Compact contact area while keeping the stamp centered and clear of text. */
    html body.single-ys_product #primary.ys-product-page .ys-product-contact-card {
        padding-bottom: 135px !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-product-contact-card .ys-contact-round-stamp {
        right: auto !important;
        bottom: 24px !important;
        left: 50% !important;
        width: 130px !important;
        height: 82px !important;
        transform: translateX(-50%) rotate(-7deg) !important;
    }
}

@media (max-width: 1024px) {
    html body.single-ys_product #primary.ys-product-page #gallery.ys-product-gallery-section::before {
        display: none !important;
    }
}

@media (max-width: 600px) {
    html body.single-ys_product #primary.ys-product-page .ys-hero-photo-window {
        width: 90% !important;
        height: 90% !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-v10-cityline {
        margin-top: -34px !important;
        margin-bottom: 38px !important;
    }
}

/* =========================================================
   2026-08-24 TRUE END-OF-FILE CASCADE LOCK
   ========================================================= */
@media (max-width: 600px) {
    html body.single-ys_product #primary.ys-product-page section#overview.ys-v10-overview .ys-v10-cityline {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        background: none !important;
    }

    html body.single-ys_product #primary.ys-product-page section#details.ys-v10-details {
        padding-top: 44px !important;
    }
}

@media (min-width: 1025px) {
    html body.single-ys_product #primary.ys-product-page #ys-product-inquiry .ys-product-contact-card .ys-contact-round-stamp {
        bottom: -62px !important;
    }
}

@media (min-width: 1025px) {
    html body.single-ys_product #primary.ys-product-page section#overview.ys-v10-overview {
        overflow: visible !important;
    }

    html body.single-ys_product #primary.ys-product-page section#overview.ys-v10-overview .ys-v10-cityline {
        position: relative !important;
        z-index: 3 !important;
        display: block !important;
        width: 100% !important;
        height: 116px !important;
        margin-top: -38px !important;
        margin-bottom: -60px !important;
        overflow: visible !important;
        background-position: center center !important;
        background-size: 100% 100% !important;
    }

    html body.single-ys_product #primary.ys-product-page section#details.ys-v10-details {
        position: relative !important;
        z-index: 1 !important;
        padding-top: 76px !important;
    }

    html body.single-ys_product #primary.ys-product-page #ys-product-inquiry .ys-product-inquiry-grid {
        align-items: stretch !important;
    }

    html body.single-ys_product #primary.ys-product-page #ys-product-inquiry .ys-product-contact-card,
    html body.single-ys_product #primary.ys-product-page #ys-product-inquiry .ys-product-form-card {
        align-self: stretch !important;
        min-height: 0 !important;
        height: auto !important;
    }

    html body.single-ys_product #primary.ys-product-page #ys-product-inquiry .ys-product-contact-card {
        padding-bottom: 30px !important;
    }

    html body.single-ys_product #primary.ys-product-page #ys-product-inquiry .ys-product-contact-card .ys-contact-round-stamp {
        right: auto !important;
        bottom: -30px !important;
        left: 50% !important;
        width: 320px !important;
        height: 200px !important;
        opacity: 1 !important;
        transform: translateX(-50%) rotate(-7deg) !important;
        transform-origin: center !important;
    }
}

/* =========================================================
   2026-08-24 ABSOLUTE END-OF-FILE QA LOCK
   ========================================================= */
@media (max-width: 600px) {
    /* The long skyline is intentionally omitted on phones. */
    html body.single-ys_product #primary.ys-product-page section#overview.ys-v10-overview .ys-v10-cityline {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        background: none !important;
    }

    html body.single-ys_product #primary.ys-product-page section#details.ys-v10-details {
        padding-top: 44px !important;
    }
}

@media (min-width: 1025px) {
    /* Show the entire approved skyline, including its lower baseline. */
    html body.single-ys_product #primary.ys-product-page section#overview.ys-v10-overview {
        overflow: visible !important;
    }

    html body.single-ys_product #primary.ys-product-page section#overview.ys-v10-overview .ys-v10-cityline {
        position: relative !important;
        z-index: 3 !important;
        display: block !important;
        width: 100% !important;
        height: 116px !important;
        margin-top: -38px !important;
        margin-bottom: -60px !important;
        overflow: visible !important;
        background-position: center center !important;
        background-size: 100% 100% !important;
    }

    html body.single-ys_product #primary.ys-product-page section#details.ys-v10-details {
        position: relative !important;
        z-index: 1 !important;
        padding-top: 76px !important;
    }

    /* Equal-height Contact columns with a compact lower area. */
    html body.single-ys_product #primary.ys-product-page #ys-product-inquiry .ys-product-inquiry-grid {
        align-items: stretch !important;
    }

    html body.single-ys_product #primary.ys-product-page #ys-product-inquiry .ys-product-contact-card,
    html body.single-ys_product #primary.ys-product-page #ys-product-inquiry .ys-product-form-card {
        align-self: stretch !important;
        min-height: 0 !important;
        height: auto !important;
    }

    html body.single-ys_product #primary.ys-product-page #ys-product-inquiry .ys-product-contact-card {
        padding-bottom: 30px !important;
    }

    html body.single-ys_product #primary.ys-product-page #ys-product-inquiry .ys-product-contact-card .ys-contact-round-stamp {
        right: auto !important;
        bottom: -30px !important;
        left: 50% !important;
        width: 320px !important;
        height: 200px !important;
        opacity: 1 !important;
        transform: translateX(-50%) rotate(-7deg) !important;
        transform-origin: center !important;
    }
}

/* =========================================================
   MOBILE QA LOCK — confirmed resin-template corrections
   Keeps desktop styling intact while fixing the six phone issues.
   ========================================================= */
@media (max-width: 600px) {
    /* 1. Keep the Hero eyebrow readable over the travel-paper artwork. */
    html body.single-ys_product #primary.ys-product-page .ys-product-eyebrow {
        color: #754800 !important;
        font-weight: 800 !important;
        opacity: 1 !important;
        text-shadow: 0 1px 0 rgba(255, 244, 219, .55) !important;
    }

    /* 2. The skyline's highest tips meet, but never enter, the card edge. */
    html body.single-ys_product #primary.ys-product-page .ys-v10-cityline {
        height: 66px !important;
        margin-top: 0 !important;
        margin-bottom: 34px !important;
        background-position: center top !important;
        background-size: auto 66px !important;
    }

    /* 3. Restore a true row grid and vertically centre multi-line labels. */
    html body.single-ys_product #primary.ys-product-page .ys-v10-spec-table th,
    html body.single-ys_product #primary.ys-product-page .ys-v10-spec-table td {
        display: table-cell !important;
        border-bottom: 1px solid rgba(165, 123, 69, .30) !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-v10-spec-table th {
        vertical-align: middle !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-v10-spec-table td {
        vertical-align: middle !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-v10-spec-table tr:last-child th,
    html body.single-ys_product #primary.ys-product-page .ys-v10-spec-table tr:last-child td {
        border-bottom: 0 !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-v10-table-label {
        min-height: 100% !important;
        align-items: center !important;
    }

    /* 4. Show a strong centred down arrow after every mobile step except 06. */
    html body.single-ys_product #primary.ys-product-page .ys-v10-order-grid {
        row-gap: 34px !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-v10-order-step::after,
    html body.single-ys_product #primary.ys-product-page .ys-v10-order-step:nth-child(3)::after {
        display: grid !important;
        top: auto !important;
        right: 50% !important;
        bottom: -34px !important;
        z-index: 6 !important;
        width: 32px !important;
        height: 32px !important;
        place-items: center !important;
        padding: 0 0 2px !important;
        content: "\2193" !important;
        color: #a96800 !important;
        border: 3px solid rgba(190, 126, 13, .92) !important;
        border-radius: 50% !important;
        background: #fff8ea !important;
        box-shadow: 0 4px 9px rgba(115, 70, 8, .16) !important;
        font-family: Arial, sans-serif !important;
        font-size: 21px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        transform: translateX(50%) !important;
        box-sizing: border-box !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-v10-order-step:last-child::after {
        display: none !important;
    }

    /* 5. Align the NDA shield with its heading and centre it in the left bay. */
    html body.single-ys_product #primary.ys-product-page .ys-v10-nda {
        grid-template-columns: 78px minmax(0, 1fr) !important;
        gap: 14px !important;
        align-items: start !important;
        padding: 20px 18px !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-v10-nda-icon {
        width: 68px !important;
        height: 68px !important;
        align-self: start !important;
        justify-self: center !important;
        margin: 0 !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-v10-nda-icon svg {
        width: 58px !important;
        height: 58px !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-v10-nda-copy h3 {
        margin-top: 0 !important;
        line-height: 1.18 !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-v10-nda-art {
        grid-column: 1 / -1 !important;
    }

    /* 6. Halve the Contact blank area and enlarge/centre the real postmark. */
    html body.single-ys_product #primary.ys-product-page .ys-product-contact-card {
        min-height: 0 !important;
        height: auto !important;
        padding-bottom: 118px !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-product-contact-card .ys-contact-round-stamp {
        right: auto !important;
        bottom: 6px !important;
        left: 50% !important;
        width: 230px !important;
        height: 144px !important;
        opacity: 1 !important;
        transform: translateX(-50%) rotate(-7deg) !important;
        transform-origin: center !important;
    }
}

/* =========================================================
   FINAL LAYOUT QA — skyline rhythm and desktop Contact match
   ========================================================= */

/* Phone: remove the long skyline completely. The existing section
   paddings now create the same Overview-to-Details gap as elsewhere. */
@media (max-width: 600px) {
    html body.single-ys_product #primary.ys-product-page section#overview.ys-v10-overview .ys-v10-cityline {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        background: none !important;
    }

    html body.single-ys_product #primary.ys-product-page section#details.ys-v10-details {
        padding-top: 44px !important;
    }
}

/* Desktop: retain the approved skyline position, keep the full drawing
   above later content, and start Details one standard visual gap below it. */
@media (min-width: 1025px) {
    html body.single-ys_product #primary.ys-product-page section#overview.ys-v10-overview .ys-v10-cityline {
        position: relative !important;
        z-index: 3 !important;
        display: block !important;
        height: 116px !important;
        margin-top: -38px !important;
        margin-bottom: -60px !important;
        overflow: visible !important;
        background-position: center bottom !important;
        background-size: 100% auto !important;
    }

    html body.single-ys_product #primary.ys-product-page section#details.ys-v10-details {
        position: relative !important;
        z-index: 1 !important;
        padding-top: 76px !important;
    }

    /* Match both Contact columns at the bottom without keeping the old
       oversized blank block. The larger postmark stays centred in the
       naturally available lower area of the stretched left card. */
    html body.single-ys_product #primary.ys-product-page #ys-product-inquiry .ys-product-inquiry-grid {
        align-items: stretch !important;
    }

    html body.single-ys_product #primary.ys-product-page #ys-product-inquiry .ys-product-contact-card,
    html body.single-ys_product #primary.ys-product-page #ys-product-inquiry .ys-product-form-card {
        align-self: stretch !important;
        min-height: 0 !important;
        height: auto !important;
    }

    html body.single-ys_product #primary.ys-product-page #ys-product-inquiry .ys-product-contact-card {
        padding-bottom: 30px !important;
    }

    html body.single-ys_product #primary.ys-product-page #ys-product-inquiry .ys-product-contact-card .ys-contact-round-stamp {
        right: auto !important;
        bottom: -30px !important;
        left: 50% !important;
        width: 320px !important;
        height: 200px !important;
        opacity: 1 !important;
        transform: translateX(-50%) rotate(-7deg) !important;
        transform-origin: center !important;
    }
}

/* =========================================================
   CURRENT REVIEW — transition, skyline, gallery aircraft and contact fit
   ========================================================= */
html body.single-ys_product #primary.ys-product-page .ys-product-hero {
    position: relative !important;
}

html body.single-ys_product #primary.ys-product-page .ys-product-hero::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    z-index: 6 !important;
    right: 0 !important;
    bottom: -1px !important;
    left: 0 !important;
    width: 100% !important;
    height: 42px !important;
    pointer-events: none !important;
    background: linear-gradient(to bottom, rgba(244, 226, 191, 0) 0%, rgba(244, 226, 191, .62) 62%, #f4e2bf 100%) !important;
}

@media (min-width: 768px) {
    html body.single-ys_product #primary.ys-product-page .ys-v10-cityline {
        margin-top: -38px !important;
        margin-bottom: -72px !important;
    }

    html body.single-ys_product #primary.ys-product-page #gallery.ys-product-gallery-section::before {
        top: -22px !important;
        left: 28px !important;
        width: 272px !important;
        height: 272px !important;
    }
}

@media (min-width: 768px) and (max-width: 1399px) {
    html body.single-ys_product #primary.ys-product-page #gallery.ys-product-gallery-section::before {
        display: none !important;
    }
}

@media (min-width: 1400px) {
    html body.single-ys_product #primary.ys-product-page #gallery.ys-product-gallery-section::before {
        display: block !important;
        top: 180px !important;
        left: -108px !important;
        width: 272px !important;
        height: 272px !important;
    }
}

@media (min-width: 1025px) {
    html body.single-ys_product #primary.ys-product-page .ys-product-contact-card {
        padding-bottom: 135px !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-product-contact-card .ys-contact-round-stamp {
        right: auto !important;
        bottom: 24px !important;
        left: 50% !important;
        width: 130px !important;
        height: 82px !important;
        transform: translateX(-50%) rotate(-7deg) !important;
    }
}

@media (max-width: 767px) {
    html body.single-ys_product #primary.ys-product-page .ys-v10-cityline {
        margin-top: -34px !important;
        margin-bottom: 38px !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-product-hero::after {
        height: 28px !important;
    }
}

/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */
@media (max-width: 390px) {
    body.single-ys_product .ys-product-spec-grid,
    body.single-ys_product .ys-product-gallery {
        grid-template-columns: 1fr;
    }

    body.single-ys_product .ys-overview-benefit-card {
        grid-template-columns: 1fr;
        text-align: center;
    }

    body.single-ys_product .ys-benefit-icon {
        margin: 0 auto;
    }
}
/* =========================================================
   PHASE 1 FINAL POLISH
   Product Overview + Product Information + Product Gallery
   Add this block to the VERY BOTTOM of product-page.css
   ========================================================= */

/* ---------------------------------------------------------
   A. PRODUCT OVERVIEW
   --------------------------------------------------------- */
body.single-ys_product .ys-tourism-paper .ys-overview-suite {
    padding-top: 56px;
    padding-bottom: 42px;
}

body.single-ys_product .ys-tourism-paper .ys-overview-heading {
    margin-bottom: 28px;
}

body.single-ys_product .ys-tourism-paper .ys-overview-points {
    width: min(1040px, calc(100% - 80px));
    margin: 0 auto 34px;
}

body.single-ys_product .ys-tourism-paper .ys-overview-points li {
    margin-bottom: 18px;
    padding-left: 31px;
    color: #39546a;
    font-size: 16.5px;
    line-height: 1.72;
}

body.single-ys_product .ys-tourism-paper .ys-overview-points li::before {
    top: .78em;
    left: 4px;
    width: 8px;
    height: 8px;
    border-width: 2px;
}

body.single-ys_product .ys-tourism-paper .ys-overview-benefits-grid {
    width: min(1180px, 100%);
    margin: 0 auto;
    gap: 22px;
}

body.single-ys_product .ys-tourism-paper .ys-overview-benefit-card {
    min-height: 178px;
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 20px;
    align-items: center;
    padding: 28px 29px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.97) 0%, rgba(255,252,246,.97) 68%, rgba(248,236,216,.88) 100%);
    border: 1px solid rgba(181, 133, 72, .24);
    border-radius: 16px;
    box-shadow:
        0 9px 24px rgba(54, 44, 30, .055),
        inset 0 1px 0 rgba(255,255,255,.86);
}

body.single-ys_product .ys-tourism-paper .ys-overview-benefit-card::after {
    right: -22px;
    bottom: -30px;
    width: 108px;
    height: 108px;
    border-color: rgba(199,135,18,.075);
    opacity: .82;
}

body.single-ys_product .ys-tourism-paper .ys-benefit-icon {
    width: 62px;
    height: 62px;
    background: linear-gradient(145deg, #fff7e8 0%, #f8ead0 100%);
    border-color: rgba(199,135,18,.34);
    box-shadow: inset 0 0 0 4px rgba(255,255,255,.35);
}

body.single-ys_product .ys-tourism-paper .ys-benefit-icon svg {
    width: 33px;
    height: 33px;
    stroke-width: 1.45;
}

body.single-ys_product .ys-tourism-paper .ys-benefit-content {
    padding-top: 0;
}

body.single-ys_product .ys-tourism-paper .ys-benefit-content h3 {
    margin-bottom: 10px;
    font-size: 23px;
    line-height: 1.18;
}

body.single-ys_product .ys-tourism-paper .ys-overview-benefit-description {
    max-width: 95%;
    color: #53697b;
    font-size: 15.25px;
    line-height: 1.58;
}

body.single-ys_product .ys-tourism-paper .ys-overview-benefit-card:hover {
    transform: translateY(-3px);
    border-color: rgba(199,135,18,.36);
    box-shadow:
        0 14px 30px rgba(54, 44, 30, .08),
        inset 0 1px 0 rgba(255,255,255,.9);
}

/* ---------------------------------------------------------
   B. PRODUCT INFORMATION
   --------------------------------------------------------- */
body.single-ys_product .ys-tourism-paper .ys-product-info-section {
    padding-top: 34px;
    padding-bottom: 44px;
}

body.single-ys_product .ys-tourism-paper .ys-product-info-heading {
    margin-bottom: 28px;
}

body.single-ys_product .ys-tourism-paper .ys-product-spec-grid {
    width: min(1220px, 100%);
    gap: 12px;
    padding: 14px;
    background: rgba(255, 252, 247, .70);
    border: 1px solid rgba(174, 129, 71, .17);
    border-radius: 16px;
    box-shadow: 0 7px 20px rgba(54,44,30,.035);
}

body.single-ys_product .ys-tourism-paper .ys-product-spec-card {
    min-height: 158px;
    justify-content: center;
    padding: 18px 11px 17px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(255,251,244,.95) 100%);
    border-color: rgba(174, 129, 71, .24);
    border-radius: 12px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}

body.single-ys_product .ys-tourism-paper .ys-product-spec-icon {
    width: 44px;
    height: 44px;
    margin-bottom: 11px;
}

body.single-ys_product .ys-tourism-paper .ys-product-spec-icon svg {
    width: 32px;
    height: 32px;
    stroke-width: 1.5;
}

body.single-ys_product .ys-tourism-paper .ys-product-spec-label {
    margin-bottom: 8px;
    font-size: 15.5px;
    line-height: 1.22;
}

body.single-ys_product .ys-tourism-paper .ys-product-spec-value {
    color: #4f6578;
    font-size: 14px;
    line-height: 1.52;
    overflow-wrap: normal;
    word-break: normal;
}

body.single-ys_product .ys-tourism-paper .ys-product-process-item + .ys-product-process-item {
    margin-top: 4px;
}

body.single-ys_product .ys-tourism-paper .ys-product-spec-card:hover {
    transform: translateY(-2px);
    border-color: rgba(199,135,18,.33);
    box-shadow: 0 8px 18px rgba(54,44,30,.055);
}

/* ---------------------------------------------------------
   C. PRODUCT GALLERY
   --------------------------------------------------------- */
body.single-ys_product .ys-tourism-paper .ys-product-gallery-section {
    padding-top: 36px;
    padding-bottom: 46px;
}

body.single-ys_product .ys-tourism-paper .ys-product-gallery-section .ys-tourism-heading {
    margin-bottom: 30px;
}

body.single-ys_product .ys-tourism-paper .ys-product-gallery {
    width: min(1120px, 100%);
    gap: 28px 30px;
}

body.single-ys_product .ys-tourism-paper .ys-product-gallery-item {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

body.single-ys_product .ys-tourism-paper .ys-product-gallery-frame {
    padding: 9px;
    background: rgba(255,253,248,.97);
    border: 1px solid rgba(174,129,71,.24);
    border-radius: 16px;
    box-shadow:
        0 8px 20px rgba(54,44,30,.055),
        inset 0 1px 0 rgba(255,255,255,.8);
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}

body.single-ys_product .ys-tourism-paper .ys-product-gallery-item:hover .ys-product-gallery-frame {
    transform: translateY(-3px);
    border-color: rgba(199,135,18,.35);
    box-shadow: 0 13px 27px rgba(54,44,30,.085);
}

body.single-ys_product .ys-tourism-paper .ys-product-gallery-image {
    border-radius: 10px;
}

body.single-ys_product .ys-tourism-paper .ys-product-gallery-caption {
    width: 94%;
    min-height: 48px;
    margin: 0 auto;
    padding: 10px 6px 0;
    color: #183653;
    font-family: inherit;
    font-size: 13.5px;
    line-height: 1.4;
    font-weight: 700;
    text-align: center;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: initial;
    overflow: hidden;
}

/* ---------------------------------------------------------
   D. SECTION HEADING TUNING — ONLY PHASE 1 SECTIONS
   --------------------------------------------------------- */
body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-tourism-heading h2,
body.single-ys_product .ys-tourism-paper .ys-product-info-section .ys-tourism-heading h2,
body.single-ys_product .ys-tourism-paper .ys-product-gallery-section .ys-tourism-heading h2 {
    font-size: clamp(32px, 2.45vw, 40px);
}

body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-tourism-heading-icon,
body.single-ys_product .ys-tourism-paper .ys-product-info-section .ys-tourism-heading-icon,
body.single-ys_product .ys-tourism-paper .ys-product-gallery-section .ys-tourism-heading-icon {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
}

body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-tourism-heading-icon svg,
body.single-ys_product .ys-tourism-paper .ys-product-info-section .ys-tourism-heading-icon svg,
body.single-ys_product .ys-tourism-paper .ys-product-gallery-section .ys-tourism-heading-icon svg {
    width: 34px;
    height: 34px;
}

/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */
@media (max-width: 980px) {
    body.single-ys_product .ys-tourism-paper .ys-overview-suite {
        padding-top: 44px;
        padding-bottom: 34px;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-points {
        width: min(760px, 100%);
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-benefits-grid {
        grid-template-columns: 1fr;
        width: min(760px, 100%);
        gap: 14px;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-benefit-card {
        min-height: 0;
        padding: 24px 26px;
    }

    body.single-ys_product .ys-tourism-paper .ys-product-spec-grid {
        grid-template-columns: repeat(3, minmax(0,1fr));
        width: min(760px, 100%);
    }

    body.single-ys_product .ys-tourism-paper .ys-product-gallery {
        width: min(760px, 100%);
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 22px 20px;
    }
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */
@media (max-width: 600px) {
    body.single-ys_product .ys-tourism-paper .ys-overview-suite {
        padding-top: 34px;
        padding-bottom: 26px;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-heading,
    body.single-ys_product .ys-tourism-paper .ys-product-info-heading,
    body.single-ys_product .ys-tourism-paper .ys-product-gallery-section .ys-tourism-heading {
        margin-bottom: 20px;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-points {
        width: 100%;
        margin-bottom: 24px;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-points li {
        margin-bottom: 13px;
        padding-left: 24px;
        font-size: 14.75px;
        line-height: 1.62;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-benefit-card {
        grid-template-columns: 54px minmax(0,1fr);
        gap: 14px;
        padding: 20px 19px;
    }

    body.single-ys_product .ys-tourism-paper .ys-benefit-icon {
        width: 50px;
        height: 50px;
    }

    body.single-ys_product .ys-tourism-paper .ys-benefit-icon svg {
        width: 27px;
        height: 27px;
    }

    body.single-ys_product .ys-tourism-paper .ys-benefit-content h3 {
        font-size: 20px;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-benefit-description {
        font-size: 14px;
    }

    body.single-ys_product .ys-tourism-paper .ys-product-info-section {
        padding-top: 28px;
        padding-bottom: 34px;
    }

    body.single-ys_product .ys-tourism-paper .ys-product-spec-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 9px;
        padding: 10px;
    }

    body.single-ys_product .ys-tourism-paper .ys-product-spec-card {
        min-height: 140px;
        padding: 14px 8px;
    }

    body.single-ys_product .ys-tourism-paper .ys-product-spec-label {
        font-size: 14.5px;
    }

    body.single-ys_product .ys-tourism-paper .ys-product-spec-value {
        font-size: 13px;
    }

    body.single-ys_product .ys-tourism-paper .ys-product-gallery-section {
        padding-top: 28px;
        padding-bottom: 34px;
    }

    body.single-ys_product .ys-tourism-paper .ys-product-gallery {
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 16px 10px;
    }

    body.single-ys_product .ys-tourism-paper .ys-product-gallery-frame {
        padding: 6px;
        border-radius: 12px;
    }

    body.single-ys_product .ys-tourism-paper .ys-product-gallery-caption {
        width: 100%;
        min-height: 42px;
        padding-top: 8px;
        font-size: 12px;
        line-height: 1.35;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-tourism-heading h2,
    body.single-ys_product .ys-tourism-paper .ys-product-info-section .ys-tourism-heading h2,
    body.single-ys_product .ys-tourism-paper .ys-product-gallery-section .ys-tourism-heading h2 {
        font-size: 28px;
    }
}

@media (max-width: 390px) {
    body.single-ys_product .ys-tourism-paper .ys-product-gallery {
        grid-template-columns: 1fr;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-benefit-card {
        grid-template-columns: 1fr;
        text-align: center;
    }

    body.single-ys_product .ys-tourism-paper .ys-benefit-icon {
        margin: 0 auto;
    }
}
/* =========================================================
   TOURISM TEMPLATE V1 — PHASE 1 REFERENCE MATCH V2
   Product Overview + Product Information + Product Gallery
   APPEND THIS BLOCK AT THE ABSOLUTE BOTTOM OF product-page.css
   ========================================================= */

/* =========================================================
   01. PRODUCT OVERVIEW — MATCH THE CONFIRMED MOCKUP
   ========================================================= */
body.single-ys_product .ys-tourism-paper .ys-overview-suite {
    padding-top: 62px !important;
    padding-bottom: 52px !important;
}

/* Overview heading: icon ABOVE title, not beside it */
body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-heading {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 0 31px !important;
    padding: 0 0 18px !important;
    text-align: center !important;
}

body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-heading .ys-tourism-heading-icon {
    flex: 0 0 auto !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    color: #b97806 !important;
}

body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-heading .ys-tourism-heading-icon svg {
    width: 42px !important;
    height: 42px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.45 !important;
}

body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-heading h2 {
    margin: 0 !important;
    color: #082743 !important;
    font-family: inherit !important;
    font-size: clamp(36px, 2.55vw, 46px) !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
}

/* Gold divider under title */
body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-heading::after {
    width: 48px !important;
    height: 1px !important;
    background: #c78a16 !important;
}

body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-heading::before {
    width: 6px !important;
    height: 6px !important;
    background: #c78a16 !important;
}

/* Overview two points: narrower and more readable */
body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-points {
    width: min(900px, calc(100% - 110px)) !important;
    margin: 0 auto 42px !important;
    padding: 0 !important;
}

body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-points li {
    margin: 0 0 22px !important;
    padding-left: 34px !important;
    color: #314b63 !important;
    font-size: 16.5px !important;
    line-height: 1.72 !important;
    font-weight: 400 !important;
}

body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-points li:last-child {
    margin-bottom: 0 !important;
}

body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-points li::before {
    top: .80em !important;
    left: 3px !important;
    width: 9px !important;
    height: 9px !important;
    border: 2px solid #c78a16 !important;
    background: rgba(255,255,255,.55) !important;
}

/* Three core benefit cards */
body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-benefits-grid {
    width: min(1180px, 100%) !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
    align-items: stretch !important;
}

body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-benefit-card {
    position: relative !important;
    min-height: 205px !important;
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 20px !important;
    align-items: start !important;
    padding: 30px 30px 28px !important;
    overflow: hidden !important;
    background: linear-gradient(145deg, rgba(255,255,255,.975) 0%, rgba(255,252,246,.97) 72%, rgba(249,238,220,.88) 100%) !important;
    border: 1px solid rgba(181,133,72,.27) !important;
    border-radius: 17px !important;
    box-shadow: 0 9px 24px rgba(54,44,30,.055), inset 0 1px 0 rgba(255,255,255,.9) !important;
}

body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-benefit-icon {
    position: relative !important;
    z-index: 3 !important;
    width: 66px !important;
    height: 66px !important;
    display: grid !important;
    place-items: center !important;
    color: #b97806 !important;
    background: linear-gradient(145deg, #fff9ed 0%, #f8ead0 100%) !important;
    border: 1.5px solid rgba(185,120,6,.50) !important;
    border-radius: 50% !important;
    box-shadow: inset 0 0 0 4px rgba(255,255,255,.52) !important;
}

body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-benefit-icon svg {
    width: 36px !important;
    height: 36px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.45 !important;
}

body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-benefit-content {
    position: relative !important;
    z-index: 3 !important;
    padding-top: 5px !important;
}

body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-benefit-content h3 {
    margin: 0 0 12px !important;
    color: #082743 !important;
    font-family: inherit !important;
    font-size: 24px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
}

body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-benefit-description {
    max-width: 95% !important;
    color: #4d6376 !important;
    font-size: 15px !important;
    line-height: 1.64 !important;
}

/* Card 1: faint contour / relief motif */
body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-benefit-card--1::after {
    content: "" !important;
    position: absolute !important;
    right: -12px !important;
    bottom: -8px !important;
    width: 175px !important;
    height: 105px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    opacity: .25 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 110'%3E%3Cg fill='none' stroke='%23c9a66f' stroke-width='1'%3E%3Cpath d='M0 83c28-20 50 14 76-3s43-35 104-25'/%3E%3Cpath d='M0 91c29-21 53 13 80-4s45-34 100-22'/%3E%3Cpath d='M0 99c31-20 55 12 83-3s47-31 97-19'/%3E%3Cpath d='M23 110c22-21 40-3 62-15 30-17 51-21 95-10'/%3E%3C/g%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    pointer-events: none !important;
}

/* Card 2: remove the old large circle decoration */
body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-benefit-card--2::after {
    content: none !important;
    display: none !important;
}

/* Card 3: faint gift-box watermark */
body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-benefit-card--3::after {
    content: "" !important;
    position: absolute !important;
    right: 8px !important;
    bottom: -8px !important;
    width: 120px !important;
    height: 120px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    opacity: .16 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23c9a66f' stroke-width='2'%3E%3Crect x='24' y='48' width='72' height='55' rx='3'/%3E%3Cpath d='M18 40h84v18H18zM60 40v63M60 40H43c-10 0-15-6-15-13 0-7 6-12 13-12 12 0 19 25 19 25Zm0 0h17c10 0 15-6 15-13 0-7-6-12-13-12-12 0-19 25-19 25Z'/%3E%3C/g%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    pointer-events: none !important;
}

/* Travel decorations slightly clearer, still subtle */
body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-travel-stamp,
body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-travel-postmark {
    color: rgba(166,114,45,.17) !important;
}

/* =========================================================
   02. PRODUCT INFORMATION — MATCH THE CONFIRMED MOCKUP
   ========================================================= */
body.single-ys_product .ys-tourism-paper .ys-product-info-section {
    padding-top: 42px !important;
    padding-bottom: 48px !important;
}

/* In the reference image, Product Information is title + gold divider only */
body.single-ys_product .ys-tourism-paper .ys-product-info-section .ys-product-info-heading {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    margin: 0 0 31px !important;
    padding: 0 0 16px !important;
    text-align: center !important;
}

body.single-ys_product .ys-tourism-paper .ys-product-info-section .ys-product-info-heading .ys-tourism-heading-icon {
    display: none !important;
}

body.single-ys_product .ys-tourism-paper .ys-product-info-section .ys-product-info-heading h2 {
    margin: 0 !important;
    color: #082743 !important;
    font-family: inherit !important;
    font-size: clamp(32px, 2.25vw, 40px) !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
}

body.single-ys_product .ys-tourism-paper .ys-product-info-section .ys-product-info-heading::after {
    width: 44px !important;
}

/* Six-card specification tray */
body.single-ys_product .ys-tourism-paper .ys-product-info-section .ys-product-spec-grid {
    width: min(1110px, 100%) !important;
    margin: 0 auto !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 18px !important;
    background: rgba(255,252,247,.76) !important;
    border: 1px solid rgba(174,129,71,.18) !important;
    border-radius: 16px !important;
    box-shadow: 0 7px 20px rgba(54,44,30,.035) !important;
}

body.single-ys_product .ys-tourism-paper .ys-product-info-section .ys-product-spec-card {
    min-height: 168px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 18px 10px 17px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.97) 0%, rgba(255,251,244,.95) 100%) !important;
    border: 1px solid rgba(174,129,71,.27) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    text-align: center !important;
}

body.single-ys_product .ys-tourism-paper .ys-product-info-section .ys-product-spec-icon {
    width: 48px !important;
    height: 48px !important;
    margin: 0 0 12px !important;
    color: #b97806 !important;
}

body.single-ys_product .ys-tourism-paper .ys-product-info-section .ys-product-spec-icon svg {
    width: 35px !important;
    height: 35px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.5 !important;
}

body.single-ys_product .ys-tourism-paper .ys-product-info-section .ys-product-spec-label {
    min-height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 0 6px !important;
    color: #082743 !important;
    font-family: inherit !important;
    font-size: 15px !important;
    line-height: 1.18 !important;
    font-weight: 700 !important;
}

body.single-ys_product .ys-tourism-paper .ys-product-info-section .ys-product-spec-value {
    color: #425b70 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

body.single-ys_product .ys-tourism-paper .ys-product-info-section .ys-product-process-item + .ys-product-process-item {
    margin-top: 3px !important;
}

body.single-ys_product .ys-tourism-paper .ys-product-info-section .ys-travel-ticket,
body.single-ys_product .ys-tourism-paper .ys-product-info-section .ys-travel-stamp {
    color: rgba(166,114,45,.18) !important;
}

/* =========================================================
   03. PRODUCT GALLERY — 3 x 2, SMALLER / MORE ELEGANT
   ========================================================= */
body.single-ys_product .ys-tourism-paper .ys-product-gallery-section {
    padding-top: 40px !important;
    padding-bottom: 52px !important;
}

/* Reference uses a clean title, without the extra gallery icon */
body.single-ys_product .ys-tourism-paper .ys-product-gallery-section .ys-tourism-heading {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    margin: 0 0 30px !important;
    padding: 0 0 16px !important;
}

body.single-ys_product .ys-tourism-paper .ys-product-gallery-section .ys-tourism-heading .ys-tourism-heading-icon {
    display: none !important;
}

body.single-ys_product .ys-tourism-paper .ys-product-gallery-section .ys-tourism-heading h2 {
    margin: 0 !important;
    color: #082743 !important;
    font-family: inherit !important;
    font-size: clamp(31px, 2.15vw, 38px) !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
}

body.single-ys_product .ys-tourism-paper .ys-product-gallery-section .ys-product-gallery {
    width: min(980px, 100%) !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px 25px !important;
}

body.single-ys_product .ys-tourism-paper .ys-product-gallery-section .ys-product-gallery-item {
    margin: 0 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    text-align: center !important;
}

body.single-ys_product .ys-tourism-paper .ys-product-gallery-section .ys-product-gallery-frame {
    padding: 8px !important;
    overflow: hidden !important;
    background: rgba(255,253,248,.98) !important;
    border: 1px solid rgba(174,129,71,.25) !important;
    border-radius: 15px !important;
    box-shadow: 0 7px 19px rgba(54,44,30,.06), inset 0 1px 0 rgba(255,255,255,.82) !important;
}

body.single-ys_product .ys-tourism-paper .ys-product-gallery-section .ys-product-gallery-image {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    border-radius: 9px !important;
    background: #f5eee4 !important;
}

body.single-ys_product .ys-tourism-paper .ys-product-gallery-section .ys-product-gallery-caption {
    width: 96% !important;
    min-height: 44px !important;
    margin: 0 auto !important;
    padding: 9px 4px 0 !important;
    color: #183653 !important;
    font-family: inherit !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    text-align: center !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: initial !important;
    overflow: hidden !important;
}

/* =========================================================
   04. RESPONSIVE — KEEP THE REFERENCE FEEL
   ========================================================= */
@media (max-width: 980px) {
    body.single-ys_product .ys-tourism-paper .ys-overview-suite {
        padding-top: 48px !important;
        padding-bottom: 40px !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-points {
        width: min(760px, 100%) !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-benefits-grid {
        grid-template-columns: 1fr !important;
        width: min(760px, 100%) !important;
        gap: 15px !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-benefit-card {
        min-height: 155px !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-product-info-section .ys-product-spec-grid {
        width: min(760px, 100%) !important;
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-product-gallery-section .ys-product-gallery {
        width: min(760px, 100%) !important;
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 22px 18px !important;
    }
}

@media (max-width: 600px) {
    body.single-ys_product .ys-tourism-paper .ys-overview-suite {
        padding-top: 38px !important;
        padding-bottom: 30px !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-heading {
        margin-bottom: 22px !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-heading .ys-tourism-heading-icon {
        width: 39px !important;
        height: 39px !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-heading .ys-tourism-heading-icon svg {
        width: 35px !important;
        height: 35px !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-heading h2 {
        font-size: 30px !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-points {
        width: 100% !important;
        margin-bottom: 25px !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-points li {
        margin-bottom: 14px !important;
        padding-left: 25px !important;
        font-size: 14.5px !important;
        line-height: 1.62 !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-overview-benefit-card {
        min-height: 0 !important;
        grid-template-columns: 54px minmax(0,1fr) !important;
        gap: 14px !important;
        padding: 21px 19px !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-benefit-icon {
        width: 50px !important;
        height: 50px !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-benefit-icon svg {
        width: 28px !important;
        height: 28px !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-suite .ys-benefit-content h3 {
        font-size: 20px !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-product-info-section {
        padding-top: 32px !important;
        padding-bottom: 36px !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-product-info-section .ys-product-spec-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 9px !important;
        padding: 10px !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-product-info-section .ys-product-spec-card {
        min-height: 142px !important;
        padding: 14px 8px !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-product-gallery-section {
        padding-top: 30px !important;
        padding-bottom: 36px !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-product-gallery-section .ys-product-gallery {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 16px 10px !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-product-gallery-section .ys-product-gallery-caption {
        min-height: 40px !important;
        font-size: 11.8px !important;
        line-height: 1.35 !important;
    }
}

@media (max-width: 390px) {
    body.single-ys_product .ys-tourism-paper .ys-product-gallery-section .ys-product-gallery {
        grid-template-columns: 1fr !important;
    }
}
/* =========================================================
   TOURISM TEMPLATE V1 — PHASE 1 REFERENCE MATCH V3
   DIRECT-SELECTOR STRONG OVERRIDE
   Scope: Product Overview + Product Information + Product Gallery
   IMPORTANT: append at the ABSOLUTE BOTTOM of product-page.css
   This version does NOT depend on .ys-tourism-paper being an ancestor.
   ========================================================= */

/* ---------------------------------------------------------
   00. Keep the three sections visually unified on the paper canvas
   --------------------------------------------------------- */
html body.single-ys_product .ys-overview-suite,
html body.single-ys_product .ys-product-info-section,
html body.single-ys_product .ys-product-gallery-section {
    position: relative !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* =========================================================
   01. PRODUCT OVERVIEW
   ========================================================= */
html body.single-ys_product .ys-overview-suite {
    padding: 62px 0 50px !important;
}

/* Heading: icon ABOVE title, centered */
html body.single-ys_product .ys-overview-heading {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 0 30px !important;
    padding: 0 0 18px !important;
    text-align: center !important;
}

/* Support both the current/new and older icon class names */
html body.single-ys_product .ys-overview-heading .ys-tourism-heading-icon,
html body.single-ys_product .ys-overview-heading .ys-overview-heading-icon {
    flex: 0 0 auto !important;
    display: grid !important;
    place-items: center !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #b97806 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

html body.single-ys_product .ys-overview-heading .ys-tourism-heading-icon svg,
html body.single-ys_product .ys-overview-heading .ys-overview-heading-icon svg {
    display: block !important;
    width: 42px !important;
    height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.45 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

html body.single-ys_product .ys-overview-heading h2 {
    margin: 0 !important;
    padding: 0 !important;
    color: #082743 !important;
    font-family: inherit !important;
    font-size: clamp(36px, 2.5vw, 46px) !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
    text-align: center !important;
}

/* Gold divider */
html body.single-ys_product .ys-overview-heading::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: 0 !important;
    display: block !important;
    width: 48px !important;
    height: 1px !important;
    margin: 0 !important;
    background: #c78a16 !important;
    border: 0 !important;
    transform: translateX(-50%) !important;
}

html body.single-ys_product .ys-overview-heading::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: -2px !important;
    z-index: 2 !important;
    display: block !important;
    width: 6px !important;
    height: 6px !important;
    background: #c78a16 !important;
    border: 0 !important;
    border-radius: 50% !important;
    transform: translateX(-50%) !important;
}

/* Two overview points */
html body.single-ys_product .ys-overview-points {
    width: min(900px, calc(100% - 100px)) !important;
    max-width: 900px !important;
    margin: 0 auto 38px !important;
    padding: 0 !important;
    list-style: none !important;
}

html body.single-ys_product .ys-overview-points li {
    position: relative !important;
    margin: 0 0 20px !important;
    padding: 0 0 0 34px !important;
    color: #314b63 !important;
    font-size: 16.5px !important;
    line-height: 1.72 !important;
    font-weight: 400 !important;
}

html body.single-ys_product .ys-overview-points li:last-child {
    margin-bottom: 0 !important;
}

html body.single-ys_product .ys-overview-points li::before {
    content: "" !important;
    position: absolute !important;
    top: .80em !important;
    left: 3px !important;
    width: 9px !important;
    height: 9px !important;
    background: rgba(255,255,255,.55) !important;
    border: 2px solid #c78a16 !important;
    border-radius: 50% !important;
    transform: translateY(-50%) !important;
}

/* If the page still renders the older paragraph wrapper, make it read like the reference */
html body.single-ys_product .ys-overview-copy {
    width: min(900px, calc(100% - 100px)) !important;
    max-width: 900px !important;
    margin: 0 auto 38px !important;
    padding: 0 !important;
    color: #314b63 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 16.5px !important;
    line-height: 1.72 !important;
}

/* Three benefit cards */
html body.single-ys_product .ys-overview-benefits-grid,
html body.single-ys_product .ys-selling-points-grid {
    width: min(1180px, 100%) !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
    align-items: stretch !important;
}

html body.single-ys_product .ys-overview-benefit-card,
html body.single-ys_product .ys-selling-point-card {
    position: relative !important;
    min-width: 0 !important;
    min-height: 205px !important;
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 20px !important;
    align-items: start !important;
    margin: 0 !important;
    padding: 30px 30px 28px !important;
    overflow: hidden !important;
    background: linear-gradient(145deg, rgba(255,255,255,.975) 0%, rgba(255,252,246,.97) 72%, rgba(249,238,220,.88) 100%) !important;
    border: 1px solid rgba(181,133,72,.28) !important;
    border-radius: 17px !important;
    box-shadow: 0 9px 24px rgba(54,44,30,.055), inset 0 1px 0 rgba(255,255,255,.92) !important;
}

/* Kill old numeric 01/02/03 decorations if they survive */
html body.single-ys_product .ys-selling-point-card::before {
    content: none !important;
    display: none !important;
}

/* Benefit icons */
html body.single-ys_product .ys-benefit-icon {
    position: relative !important;
    z-index: 3 !important;
    width: 66px !important;
    height: 66px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 !important;
    color: #b97806 !important;
    background: linear-gradient(145deg, #fff9ed 0%, #f8ead0 100%) !important;
    border: 1.5px solid rgba(185,120,6,.50) !important;
    border-radius: 50% !important;
    box-shadow: inset 0 0 0 4px rgba(255,255,255,.52) !important;
}

html body.single-ys_product .ys-benefit-icon svg {
    width: 36px !important;
    height: 36px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.45 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

html body.single-ys_product .ys-benefit-icon img {
    display: block !important;
    width: 42px !important;
    height: 42px !important;
    object-fit: contain !important;
}

html body.single-ys_product .ys-benefit-content {
    position: relative !important;
    z-index: 3 !important;
    padding-top: 5px !important;
}

html body.single-ys_product .ys-benefit-content h3,
html body.single-ys_product .ys-overview-benefit-card h3,
html body.single-ys_product .ys-selling-point-card h3 {
    position: relative !important;
    z-index: 3 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: #082743 !important;
    font-family: inherit !important;
    font-size: 24px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
}

html body.single-ys_product .ys-overview-benefit-description,
html body.single-ys_product .ys-selling-point-description {
    position: relative !important;
    z-index: 3 !important;
    width: 100% !important;
    max-width: 95% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #4d6376 !important;
    font-size: 15px !important;
    line-height: 1.64 !important;
}

html body.single-ys_product .ys-overview-benefit-description p,
html body.single-ys_product .ys-selling-point-description p {
    margin: 0 !important;
}

/* Watermark motifs — nth-child works even if modifier classes differ */
html body.single-ys_product .ys-overview-benefit-card:nth-child(1)::after,
html body.single-ys_product .ys-selling-point-card:nth-child(1)::after {
    content: "" !important;
    position: absolute !important;
    right: -8px !important;
    bottom: -2px !important;
    width: 175px !important;
    height: 105px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    opacity: .25 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 110'%3E%3Cg fill='none' stroke='%23c9a66f' stroke-width='1'%3E%3Cpath d='M0 83c28-20 50 14 76-3s43-35 104-25'/%3E%3Cpath d='M0 91c29-21 53 13 80-4s45-34 100-22'/%3E%3Cpath d='M0 99c31-20 55 12 83-3s47-31 97-19'/%3E%3Cpath d='M23 110c22-21 40-3 62-15 30-17 51-21 95-10'/%3E%3C/g%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right bottom !important;
    background-size: contain !important;
    pointer-events: none !important;
}

html body.single-ys_product .ys-overview-benefit-card:nth-child(2)::after,
html body.single-ys_product .ys-selling-point-card:nth-child(2)::after {
    content: none !important;
    display: none !important;
}

html body.single-ys_product .ys-overview-benefit-card:nth-child(3)::after,
html body.single-ys_product .ys-selling-point-card:nth-child(3)::after {
    content: "" !important;
    position: absolute !important;
    right: 7px !important;
    bottom: -8px !important;
    width: 120px !important;
    height: 120px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    opacity: .17 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23c9a66f' stroke-width='2'%3E%3Crect x='24' y='48' width='72' height='55' rx='3'/%3E%3Cpath d='M18 40h84v18H18zM60 40v63M60 40H43c-10 0-15-6-15-13 0-7 6-12 13-12 12 0 19 25 19 25Zm0 0h17c10 0 15-6 15-13 0-7-6-12-13-12-12 0-19 25-19 25Z'/%3E%3C/g%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right bottom !important;
    background-size: contain !important;
    pointer-events: none !important;
}

/* =========================================================
   02. PRODUCT INFORMATION
   ========================================================= */
html body.single-ys_product .ys-product-info-section {
    padding: 44px 0 50px !important;
}

html body.single-ys_product .ys-product-info-heading {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 0 0 30px !important;
    padding: 0 0 16px !important;
    text-align: center !important;
}

/* Reference: no icon to the left of Product Information */
html body.single-ys_product .ys-product-info-heading .ys-tourism-heading-icon,
html body.single-ys_product .ys-product-info-heading .ys-product-info-compass {
    display: none !important;
}

html body.single-ys_product .ys-product-info-heading .ys-product-info-title-wrap {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body.single-ys_product .ys-product-info-heading .ys-product-info-kicker {
    display: none !important;
}

html body.single-ys_product .ys-product-info-heading h2,
html body.single-ys_product .ys-product-info-heading .ys-product-info-title {
    margin: 0 !important;
    padding: 0 !important;
    color: #082743 !important;
    font-family: inherit !important;
    font-size: clamp(32px, 2.25vw, 40px) !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    text-align: center !important;
}

html body.single-ys_product .ys-product-info-heading .ys-product-info-route {
    display: none !important;
}

html body.single-ys_product .ys-product-info-heading::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: 0 !important;
    display: block !important;
    width: 44px !important;
    height: 1px !important;
    background: #c78a16 !important;
    transform: translateX(-50%) !important;
}

html body.single-ys_product .ys-product-info-heading::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: -2px !important;
    z-index: 2 !important;
    display: block !important;
    width: 5px !important;
    height: 5px !important;
    background: #c78a16 !important;
    border-radius: 50% !important;
    transform: translateX(-50%) !important;
}

/* Six-card tray */
html body.single-ys_product .ys-product-spec-grid {
    width: min(1110px, 100%) !important;
    max-width: 1110px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 18px !important;
    background: rgba(255,252,247,.76) !important;
    border: 1px solid rgba(174,129,71,.18) !important;
    border-radius: 16px !important;
    box-shadow: 0 7px 20px rgba(54,44,30,.035) !important;
}

html body.single-ys_product .ys-product-spec-card {
    min-width: 0 !important;
    min-height: 168px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 18px 10px 17px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.97) 0%, rgba(255,251,244,.95) 100%) !important;
    border: 1px solid rgba(174,129,71,.27) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    text-align: center !important;
}

html body.single-ys_product .ys-product-spec-number {
    display: none !important;
}

html body.single-ys_product .ys-product-spec-top {
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 0 10px !important;
}

html body.single-ys_product .ys-product-spec-icon {
    width: 48px !important;
    height: 48px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 !important;
    color: #b97806 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

html body.single-ys_product .ys-product-spec-icon svg {
    width: 35px !important;
    height: 35px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.5 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

html body.single-ys_product .ys-product-spec-icon img {
    display: block !important;
    width: 40px !important;
    height: 40px !important;
    object-fit: contain !important;
}

html body.single-ys_product .ys-product-spec-label {
    min-height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    color: #082743 !important;
    font-family: inherit !important;
    font-size: 15px !important;
    line-height: 1.18 !important;
    font-weight: 700 !important;
    text-align: center !important;
}

html body.single-ys_product .ys-product-spec-value {
    color: #425b70 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    text-align: center !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

html body.single-ys_product .ys-product-process-item {
    display: block !important;
}

html body.single-ys_product .ys-product-process-item + .ys-product-process-item {
    margin-top: 3px !important;
}

/* =========================================================
   03. PRODUCT GALLERY — 3 x 2 + captions
   ========================================================= */
html body.single-ys_product .ys-product-gallery-section {
    padding: 42px 0 54px !important;
}

html body.single-ys_product .ys-product-gallery-section .ys-tourism-heading,
html body.single-ys_product .ys-product-gallery-section > .ys-product-container > h2 {
    position: relative !important;
}

html body.single-ys_product .ys-product-gallery-section .ys-tourism-heading {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    margin: 0 0 30px !important;
    padding: 0 0 16px !important;
    text-align: center !important;
}

/* Hide gallery icon in both likely markup variants */
html body.single-ys_product .ys-product-gallery-section .ys-tourism-heading .ys-tourism-heading-icon,
html body.single-ys_product .ys-product-gallery-section .ys-gallery-heading-icon {
    display: none !important;
}

html body.single-ys_product .ys-product-gallery-section .ys-tourism-heading h2,
html body.single-ys_product .ys-product-gallery-section > .ys-product-container > h2 {
    margin: 0 0 30px !important;
    padding: 0 0 16px !important;
    color: #082743 !important;
    font-family: inherit !important;
    font-size: clamp(31px, 2.15vw, 38px) !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    text-align: center !important;
}

html body.single-ys_product .ys-product-gallery {
    width: min(1020px, 100%) !important;
    max-width: 1020px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 30px 26px !important;
}

html body.single-ys_product .ys-product-gallery-item {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
}

/* Support markup with or without a dedicated .ys-product-gallery-frame */
html body.single-ys_product .ys-product-gallery-frame,
html body.single-ys_product .ys-product-gallery-item > a,
html body.single-ys_product .ys-product-gallery-item > img.ys-product-gallery-image {
    border-radius: 15px !important;
}

html body.single-ys_product .ys-product-gallery-frame {
    padding: 8px !important;
    overflow: hidden !important;
    background: rgba(255,253,248,.98) !important;
    border: 1px solid rgba(174,129,71,.25) !important;
    border-radius: 15px !important;
    box-shadow: 0 7px 19px rgba(54,44,30,.06), inset 0 1px 0 rgba(255,255,255,.82) !important;
}

/* If no frame wrapper exists, give the image itself the frame */
html body.single-ys_product .ys-product-gallery-item > img.ys-product-gallery-image {
    padding: 7px !important;
    background: rgba(255,253,248,.98) !important;
    border: 1px solid rgba(174,129,71,.25) !important;
    box-shadow: 0 7px 19px rgba(54,44,30,.06) !important;
}

html body.single-ys_product .ys-product-gallery-image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    background: #f5eee4 !important;
    border-radius: 9px !important;
}

html body.single-ys_product .ys-product-gallery-caption {
    width: 96% !important;
    min-height: 45px !important;
    margin: 0 auto !important;
    padding: 10px 4px 0 !important;
    color: #183653 !important;
    font-family: inherit !important;
    font-size: 13.5px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    text-align: center !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: initial !important;
    overflow: hidden !important;
}

/* =========================================================
   04. RESPONSIVE
   ========================================================= */
@media (max-width: 980px) {
    html body.single-ys_product .ys-overview-suite {
        padding: 48px 0 40px !important;
    }

    html body.single-ys_product .ys-overview-points,
    html body.single-ys_product .ys-overview-copy {
        width: min(760px, 100%) !important;
    }

    html body.single-ys_product .ys-overview-benefits-grid,
    html body.single-ys_product .ys-selling-points-grid {
        width: min(760px, 100%) !important;
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }

    html body.single-ys_product .ys-overview-benefit-card,
    html body.single-ys_product .ys-selling-point-card {
        min-height: 155px !important;
    }

    html body.single-ys_product .ys-product-spec-grid {
        width: min(760px, 100%) !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    html body.single-ys_product .ys-product-gallery {
        width: min(760px, 100%) !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 22px 18px !important;
    }
}

@media (max-width: 600px) {
    html body.single-ys_product .ys-overview-suite {
        padding: 38px 0 30px !important;
    }

    html body.single-ys_product .ys-overview-heading {
        margin-bottom: 22px !important;
    }

    html body.single-ys_product .ys-overview-heading .ys-tourism-heading-icon,
    html body.single-ys_product .ys-overview-heading .ys-overview-heading-icon {
        width: 39px !important;
        height: 39px !important;
    }

    html body.single-ys_product .ys-overview-heading .ys-tourism-heading-icon svg,
    html body.single-ys_product .ys-overview-heading .ys-overview-heading-icon svg {
        width: 35px !important;
        height: 35px !important;
    }

    html body.single-ys_product .ys-overview-heading h2 {
        font-size: 30px !important;
    }

    html body.single-ys_product .ys-overview-points,
    html body.single-ys_product .ys-overview-copy {
        width: 100% !important;
        margin-bottom: 25px !important;
    }

    html body.single-ys_product .ys-overview-points li {
        margin-bottom: 14px !important;
        padding-left: 25px !important;
        font-size: 14.5px !important;
        line-height: 1.62 !important;
    }

    html body.single-ys_product .ys-overview-benefit-card,
    html body.single-ys_product .ys-selling-point-card {
        min-height: 0 !important;
        grid-template-columns: 54px minmax(0, 1fr) !important;
        gap: 14px !important;
        padding: 21px 19px !important;
    }

    html body.single-ys_product .ys-benefit-icon {
        width: 50px !important;
        height: 50px !important;
    }

    html body.single-ys_product .ys-benefit-icon svg {
        width: 28px !important;
        height: 28px !important;
    }

    html body.single-ys_product .ys-benefit-content h3,
    html body.single-ys_product .ys-overview-benefit-card h3,
    html body.single-ys_product .ys-selling-point-card h3 {
        font-size: 20px !important;
    }

    html body.single-ys_product .ys-product-info-section {
        padding: 32px 0 36px !important;
    }

    html body.single-ys_product .ys-product-spec-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px !important;
        padding: 10px !important;
    }

    html body.single-ys_product .ys-product-spec-card {
        min-height: 142px !important;
        padding: 14px 8px !important;
    }

    html body.single-ys_product .ys-product-gallery-section {
        padding: 30px 0 36px !important;
    }

    html body.single-ys_product .ys-product-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px 10px !important;
    }

    html body.single-ys_product .ys-product-gallery-caption {
        min-height: 40px !important;
        font-size: 11.8px !important;
        line-height: 1.35 !important;
    }
}

@media (max-width: 390px) {
    html body.single-ys_product .ys-product-gallery {
        grid-template-columns: 1fr !important;
    }
}
/* =========================================================
   PHASE 2 — AUTHORITATIVE LAYOUT PASS
   Gallery strip + compact detail cards + FAQ/Buying Guide + CTA balance
   ========================================================= */

/* Applications: always present use cases as scannable bullets. */
html body.single-ys_product .ys-product-detail-card--applications .ys-application-list {
    margin: 0 !important;
    padding-left: 17px !important;
}

html body.single-ys_product .ys-product-detail-card--applications .ys-application-list li {
    margin: 0 0 5px !important;
    color: #344f65 !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

html body.single-ys_product .ys-product-detail-card--applications .ys-application-list li::marker {
    color: #123b60 !important;
}

/* ---------------------------------------------------------
   01. Product Gallery — one horizontal strip on desktop
   --------------------------------------------------------- */
html body.single-ys_product .ys-product-gallery-section {
    padding: 36px 0 42px !important;
}

html body.single-ys_product .ys-product-gallery-section .ys-tourism-heading {
    margin-bottom: 24px !important;
}

html body.single-ys_product .ys-gallery-stage {
    position: relative !important;
    width: min(1320px, 100%) !important;
    margin: 0 auto !important;
    padding: 0 44px !important;
}

html body.single-ys_product .ys-gallery-viewport {
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-behavior: smooth !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

html body.single-ys_product .ys-gallery-viewport::-webkit-scrollbar {
    display: none !important;
}

html body.single-ys_product .ys-gallery-stage .ys-product-gallery {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: none !important;
    grid-auto-flow: column !important;
    grid-auto-columns: calc(25% - 10.5px) !important;
    gap: 14px !important;
    align-items: start !important;
}

html body.single-ys_product .ys-gallery-stage .ys-product-gallery-item {
    scroll-snap-align: start !important;
    min-width: 0 !important;
}

html body.single-ys_product .ys-gallery-stage .ys-product-gallery-frame {
    padding: 6px !important;
    border-radius: 12px !important;
    box-shadow: 0 5px 14px rgba(54,44,30,.055) !important;
}

html body.single-ys_product .ys-gallery-stage .ys-product-gallery-image {
    border-radius: 8px !important;
}

html body.single-ys_product .ys-gallery-stage .ys-product-gallery-caption {
    width: 100% !important;
    min-height: 34px !important;
    padding: 7px 2px 0 !important;
    font-size: 12.2px !important;
    line-height: 1.28 !important;
    -webkit-line-clamp: initial !important;
}

html body.single-ys_product .ys-gallery-arrow {
    position: absolute !important;
    top: 42% !important;
    z-index: 8 !important;
    width: 38px !important;
    height: 38px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    border: 1px solid rgba(174,129,71,.30) !important;
    border-radius: 50% !important;
    background: rgba(255,253,248,.98) !important;
    color: #b87300 !important;
    box-shadow: 0 5px 15px rgba(54,44,30,.10) !important;
    font-family: Arial, sans-serif !important;
    font-size: 30px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transform: translateY(-50%) !important;
}

html body.single-ys_product .ys-gallery-arrow--prev {
    left: 0 !important;
}

html body.single-ys_product .ys-gallery-arrow--next {
    right: 0 !important;
}

html body.single-ys_product .ys-gallery-arrow:hover,
html body.single-ys_product .ys-gallery-arrow:focus-visible {
    background: #fffaf1 !important;
    border-color: rgba(184,115,0,.50) !important;
}

/* ---------------------------------------------------------
   02. Five detail cards — shorter, tighter, still readable
   --------------------------------------------------------- */
html body.single-ys_product .ys-product-detail-grid-section {
    padding-top: 22px !important;
    padding-bottom: 32px !important;
}

html body.single-ys_product .ys-product-detail-grid {
    gap: 9px !important;
    align-items: stretch !important;
}

html body.single-ys_product .ys-product-detail-card {
    min-height: 286px !important;
    padding: 15px 13px 18px !important;
    border-radius: 12px !important;
}

html body.single-ys_product .ys-product-detail-icon {
    width: 46px !important;
    height: 46px !important;
    margin-bottom: 9px !important;
}

html body.single-ys_product .ys-product-detail-icon img {
    display: block !important;
    width: 31px !important;
    height: 31px !important;
    object-fit: contain !important;
}

html body.single-ys_product .ys-product-detail-title {
    min-height: 36px !important;
    margin-bottom: 9px !important;
    font-size: 16px !important;
    line-height: 1.16 !important;
}

html body.single-ys_product .ys-product-detail-content {
    font-size: 12.4px !important;
    line-height: 1.42 !important;
}

html body.single-ys_product .ys-product-detail-content li {
    margin-bottom: 4px !important;
}

/* ---------------------------------------------------------
   03. FAQ + Buying Guide
   --------------------------------------------------------- */
html body.single-ys_product .ys-resource-section {
    padding: 12px 0 28px !important;
}

html body.single-ys_product .ys-resource-grid {
    width: min(1280px, 100%) !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
    gap: 18px !important;
    align-items: stretch !important;
}

html body.single-ys_product .ys-faq-card,
html body.single-ys_product .ys-buying-guide-card {
    min-width: 0 !important;
    padding: 21px 22px 22px !important;
    background: rgba(255,252,246,.82) !important;
    border: 1px solid rgba(174,129,71,.26) !important;
    border-radius: 14px !important;
    box-shadow: 0 7px 18px rgba(54,44,30,.045) !important;
}

html body.single-ys_product .ys-faq-card > h2,
html body.single-ys_product .ys-buying-guide-card > h2 {
    margin: 0 0 14px !important;
    color: #082743 !important;
    font-family: inherit !important;
    font-size: 26px !important;
    line-height: 1.12 !important;
    text-align: center !important;
}

html body.single-ys_product .ys-faq-list {
    border-top: 1px solid rgba(174,129,71,.20) !important;
}

html body.single-ys_product .ys-faq-item {
    border-bottom: 1px solid rgba(174,129,71,.20) !important;
}

html body.single-ys_product .ys-faq-item summary {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 10px 6px !important;
    color: #183653 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    list-style: none !important;
}

html body.single-ys_product .ys-faq-item summary::-webkit-details-marker {
    display: none !important;
}

html body.single-ys_product .ys-faq-item summary span {
    flex: 0 0 auto !important;
    color: #b87300 !important;
    font-size: 18px !important;
    transition: transform .2s ease !important;
}

html body.single-ys_product .ys-faq-item[open] summary span {
    transform: rotate(180deg) !important;
}

html body.single-ys_product .ys-faq-answer {
    padding: 0 28px 11px 6px !important;
    color: #53687b !important;
    font-size: 12.5px !important;
    line-height: 1.5 !important;
}

html body.single-ys_product .ys-buying-guide-card {
    display: flex !important;
    flex-direction: column !important;
}

html body.single-ys_product .ys-buying-guide-visual {
    height: 160px !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    margin-bottom: 13px !important;
    background:
        radial-gradient(circle at 50% 45%, rgba(199,135,18,.11), transparent 58%),
        #efe0c8 !important;
    border: 1px solid rgba(174,129,71,.20) !important;
    border-radius: 10px !important;
}

html body.single-ys_product .ys-buying-guide-visual img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

html body.single-ys_product .ys-buying-guide-copy h3 {
    margin: 0 0 7px !important;
    color: #082743 !important;
    font-family: inherit !important;
    font-size: 20px !important;
    line-height: 1.16 !important;
}

html body.single-ys_product .ys-buying-guide-copy p {
    margin: 0 0 9px !important;
    color: #53687b !important;
    font-size: 12.8px !important;
    line-height: 1.48 !important;
}

html body.single-ys_product .ys-buying-guide-copy a {
    color: #a96800 !important;
    font-size: 12.8px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* ---------------------------------------------------------
   04. CTA — wider visuals, half the visual gap to the copy
   --------------------------------------------------------- */
html body.single-ys_product .ys-product-cta {
    padding-top: 6px !important;
    padding-bottom: 18px !important;
}

html body.single-ys_product .ys-product-cta-inner {
    min-height: 220px !important;
    grid-template-columns: minmax(360px, 1.05fr) minmax(360px, .90fr) minmax(360px, 1.05fr) !important;
    gap: 0 !important;
    padding: 16px 18px !important;
}

html body.single-ys_product .ys-product-cta-copy h2 {
    width: min(440px, 100%) !important;
    margin-bottom: 8px !important;
    font-size: clamp(29px, 2.3vw, 38px) !important;
}

html body.single-ys_product .ys-product-cta-copy p {
    width: min(420px, 100%) !important;
    margin-bottom: 14px !important;
    font-size: 13.5px !important;
}

html body.single-ys_product .ys-cta-visual img {
    width: min(100%, 470px) !important;
}

html body.single-ys_product .ys-cta-visual--left img {
    transform: translateX(22px) !important;
}

html body.single-ys_product .ys-cta-visual--right img {
    transform: translateX(-22px) !important;
}

/* ---------------------------------------------------------
   05. Phase 2 responsive behavior
   --------------------------------------------------------- */
@media (max-width: 1180px) {
    html body.single-ys_product .ys-gallery-stage .ys-product-gallery {
        grid-template-columns: none !important;
        grid-auto-columns: calc(33.3333% - 9.34px) !important;
        gap: 14px !important;
    }

    html body.single-ys_product .ys-product-detail-grid {
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    }

    html body.single-ys_product .ys-product-detail-card {
        min-height: 270px !important;
    }

    html body.single-ys_product .ys-product-cta-inner {
        grid-template-columns: minmax(270px, 1fr) minmax(340px, .92fr) minmax(270px, 1fr) !important;
        gap: 0 !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    html body.single-ys_product .ys-cta-visual img {
        width: min(100%, 390px) !important;
    }
}

@media (max-width: 921px) {
    html body.single-ys_product .ys-gallery-stage {
        padding: 0 40px !important;
    }

    html body.single-ys_product .ys-gallery-stage .ys-product-gallery {
        grid-template-columns: none !important;
        grid-auto-columns: calc(50% - 7px) !important;
        gap: 14px !important;
    }

    html body.single-ys_product .ys-resource-grid {
        width: min(760px, 100%) !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    html body.single-ys_product .ys-product-detail-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }

    html body.single-ys_product .ys-product-cta-inner {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
        gap: 12px !important;
        padding: 30px 24px !important;
    }

    html body.single-ys_product .ys-cta-visual {
        display: none !important;
    }
}

@media (max-width: 600px) {
    html body.single-ys_product .ys-gallery-stage {
        padding: 0 34px !important;
    }

    html body.single-ys_product .ys-gallery-stage .ys-product-gallery {
        grid-template-columns: none !important;
        grid-auto-columns: 82% !important;
        gap: 12px !important;
    }

    html body.single-ys_product .ys-gallery-arrow {
        width: 32px !important;
        height: 32px !important;
        font-size: 25px !important;
    }

    html body.single-ys_product .ys-product-detail-grid {
        grid-template-columns: 1fr !important;
    }

    html body.single-ys_product .ys-product-detail-card {
        min-height: 0 !important;
        padding: 18px 18px 20px !important;
    }

    html body.single-ys_product .ys-product-detail-content {
        font-size: 13.2px !important;
        line-height: 1.48 !important;
    }

    html body.single-ys_product .ys-faq-card,
    html body.single-ys_product .ys-buying-guide-card {
        padding: 18px 16px 19px !important;
    }

    html body.single-ys_product .ys-buying-guide-visual {
        height: 145px !important;
    }
}


/* =========================================================
   PHASE 2.2 — VISUAL CONSISTENCY + GALLERY + CONTACT
   Final authoritative rules for the approved desktop direction.
   ========================================================= */

/* 01. Section headings: no Overview icon and no gold divider under
   Product Overview / Product Information / Product Gallery. */
html body.single-ys_product .ys-overview-heading .ys-tourism-heading-icon,
html body.single-ys_product .ys-overview-heading .ys-overview-heading-icon {
    display: none !important;
}

html body.single-ys_product .ys-overview-heading,
html body.single-ys_product .ys-product-info-heading,
html body.single-ys_product .ys-product-gallery-section .ys-tourism-heading {
    gap: 0 !important;
    padding-bottom: 0 !important;
}

html body.single-ys_product .ys-overview-heading::before,
html body.single-ys_product .ys-overview-heading::after,
html body.single-ys_product .ys-product-info-heading::before,
html body.single-ys_product .ys-product-info-heading::after,
html body.single-ys_product .ys-product-gallery-section .ys-tourism-heading::before,
html body.single-ys_product .ys-product-gallery-section .ys-tourism-heading::after {
    content: none !important;
    display: none !important;
}

/* Keep section spacing natural after divider removal. */
html body.single-ys_product .ys-overview-heading {
    margin-bottom: 28px !important;
}
html body.single-ys_product .ys-product-info-heading {
    margin-bottom: 26px !important;
}
html body.single-ys_product .ys-product-gallery-section .ys-tourism-heading {
    margin-bottom: 26px !important;
}

/* 02. SVG icon sizing — one consistent visible icon size.
   48px graphic size across selling points, Product Information and detail cards. */
html body.single-ys_product .ys-benefit-icon {
    width: 66px !important;
    height: 66px !important;
    flex: 0 0 66px !important;
    display: grid !important;
    place-items: center !important;
}
html body.single-ys_product .ys-benefit-icon img {
    width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
    object-fit: contain !important;
}

html body.single-ys_product .ys-product-spec-icon {
    width: 56px !important;
    height: 56px !important;
    display: grid !important;
    place-items: center !important;
}
html body.single-ys_product .ys-product-spec-icon img {
    width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
    object-fit: contain !important;
}

/* Five detail-card icons use the same warm visual language as the top selling points. */
html body.single-ys_product .ys-product-detail-icon {
    width: 66px !important;
    height: 66px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 auto 10px !important;
    color: #b97806 !important;
    background: linear-gradient(145deg, #fff9ed 0%, #f8ead0 100%) !important;
    border: 1.5px solid rgba(185,120,6,.50) !important;
    border-radius: 50% !important;
    box-shadow: inset 0 0 0 4px rgba(255,255,255,.52) !important;
}
html body.single-ys_product .ys-product-detail-icon img {
    display: block !important;
    width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
    object-fit: contain !important;
    filter: none !important;
}

/* Slightly rebalance card height after the larger detail icons. */
html body.single-ys_product .ys-product-detail-card {
    min-height: 302px !important;
    padding-top: 15px !important;
}

/* 03. Product Gallery — desktop returns to 3 x 2.
   No horizontal strip; all six images visible and captions shown in full. */
html body.single-ys_product .ys-gallery-stage {
    width: min(1020px, 100%) !important;
    margin: 0 auto !important;
    padding: 0 !important;
}
html body.single-ys_product .ys-gallery-viewport {
    width: 100% !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
}
html body.single-ys_product .ys-gallery-stage .ys-product-gallery,
html body.single-ys_product .ys-product-gallery {
    width: 100% !important;
    max-width: 1020px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    gap: 28px 26px !important;
}
html body.single-ys_product .ys-gallery-stage .ys-product-gallery-item,
html body.single-ys_product .ys-product-gallery-item {
    min-width: 0 !important;
    scroll-snap-align: none !important;
}
html body.single-ys_product .ys-gallery-arrow {
    display: none !important;
}
html body.single-ys_product .ys-gallery-stage .ys-product-gallery-frame,
html body.single-ys_product .ys-product-gallery-frame {
    padding: 8px !important;
    border-radius: 15px !important;
}
html body.single-ys_product .ys-gallery-stage .ys-product-gallery-caption,
html body.single-ys_product .ys-product-gallery-caption {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 9px 3px 0 !important;
    color: #183653 !important;
    font-family: inherit !important;
    font-size: 13.5px !important;
    line-height: 1.38 !important;
    font-weight: 700 !important;
    text-align: center !important;
    overflow: visible !important;
    white-space: normal !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
}

/* 04. Contact initials — thicker circles, larger centered letters. */
html body.single-ys_product .ys-contact-list li {
    grid-template-columns: 35px minmax(0,1fr) !important;
    gap: 10px !important;
    align-items: start !important;
}
html body.single-ys_product .ys-contact-icon {
    width: 31px !important;
    height: 31px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    color: #123b60 !important;
    border: 2px solid rgba(8,39,67,.38) !important;
    border-radius: 50% !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    text-align: center !important;
}

/* Responsive gallery: 2 columns on tablet, 1 on small phones. */
@media (max-width: 921px) {
    html body.single-ys_product .ys-gallery-stage .ys-product-gallery,
    html body.single-ys_product .ys-product-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 22px 18px !important;
    }
}
@media (max-width: 600px) {
    html body.single-ys_product .ys-gallery-stage .ys-product-gallery,
    html body.single-ys_product .ys-product-gallery {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
    html body.single-ys_product .ys-benefit-icon,
    html body.single-ys_product .ys-product-detail-icon {
        width: 62px !important;
        height: 62px !important;
    }
    html body.single-ys_product .ys-benefit-icon img,
    html body.single-ys_product .ys-product-spec-icon img,
    html body.single-ys_product .ys-product-detail-icon img {
        width: 45px !important;
        height: 45px !important;
        max-width: 45px !important;
        max-height: 45px !important;
    }
}


/* =========================================================
   PHASE 2.3 — PRODUCT TIME + FULL JUSTIFIED GALLERY CAPTIONS
   ========================================================= */

/* Keep Product Time on one line while preserving a clear gap
   before the lead-time value, consistent with the other cards. */
html body.single-ys_product
.ys-product-spec-card--production
.ys-product-spec-label {
    min-height: 36px !important;
    margin-bottom: 12px !important;
    white-space: nowrap !important;
}

/* Gallery captions: show the complete ACF caption, allow as many
   lines as needed, and justify the text with the last line left aligned. */
html body.single-ys_product
.ys-gallery-stage .ys-product-gallery-caption,
html body.single-ys_product
.ys-product-gallery-caption {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 10px 8px 0 !important;

    overflow: visible !important;
    white-space: normal !important;
    text-overflow: clip !important;

    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    line-clamp: unset !important;

    color: #183653 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.46 !important;
    font-weight: 700 !important;

    text-align: center !important;
    text-align-last: center !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: auto !important;
}

/* =========================================================
   PHASE 2.4 — SITE FONT + FULL JUSTIFIED GALLERY CAPTIONS
   Canonical final rules
   ========================================================= */

/* The product template must use the same active font as the rest of the site.
   "inherit" means no separate product-page font is introduced. */
html body.single-ys_product .ys-product-page,
html body.single-ys_product .ys-product-page * {
    font-family: inherit !important;
}

/* Never let the gallery card or grid crop a multi-line caption. */
html body.single-ys_product .ys-product-gallery,
html body.single-ys_product .ys-gallery-stage .ys-product-gallery,
html body.single-ys_product .ys-product-gallery-item,
html body.single-ys_product .ys-gallery-stage .ys-product-gallery-item {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

/* Full ACF caption:
   - no line limit
   - no ellipsis
   - as many lines as the text requires
   - justified, with the last line left aligned
   - same font family as the main website */
html body.single-ys_product .ys-product-page figcaption.ys-product-gallery-caption,
html body.single-ys_product .ys-product-page .ys-gallery-stage figcaption.ys-product-gallery-caption {
    display: block !important;
    position: static !important;

    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 11px 8px 0 !important;

    overflow: visible !important;
    white-space: normal !important;
    text-overflow: clip !important;

    -webkit-line-clamp: initial !important;
    -webkit-box-orient: initial !important;
    line-clamp: initial !important;

    text-align: center !important;
    text-align-last: center !important;

    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;

    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-weight: 600 !important;
    color: #183653 !important;
}


/* =========================================================
   PHASE 2.5 — CENTER GALLERY CAPTIONS
   Keep full text, no truncation, use site font
   ========================================================= */
html body.single-ys_product
.ys-product-page
figcaption.ys-product-gallery-caption,
html body.single-ys_product
.ys-product-page
.ys-gallery-stage
figcaption.ys-product-gallery-caption {
    text-align: center !important;
    text-align-last: center !important;
}

/* =========================================================
   PHASE 3 — REAL BUYING GUIDE ARTICLE
   ========================================================= */

html body.single-ys_product .ys-buying-guide-visual {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
    margin: 0 0 13px !important;
    background: #efe0c8 !important;
    border: 1px solid rgba(174,129,71,.20) !important;
    border-radius: 10px !important;
    text-decoration: none !important;
}

html body.single-ys_product .ys-buying-guide-visual img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 9px !important;
    transition: transform .25s ease !important;
}

html body.single-ys_product .ys-buying-guide-visual:hover img {
    transform: scale(1.025) !important;
}

html body.single-ys_product .ys-buying-guide-copy h3 {
    margin: 0 0 7px !important;
    line-height: 1.22 !important;
}

html body.single-ys_product .ys-buying-guide-copy h3 a {
    color: #082743 !important;
    text-decoration: none !important;
    font: inherit !important;
}

html body.single-ys_product .ys-buying-guide-copy h3 a:hover {
    color: #a96800 !important;
}

html body.single-ys_product .ys-buying-guide-copy p {
    margin: 0 0 9px !important;
    color: #53687b !important;
    font-size: 12.8px !important;
    line-height: 1.5 !important;
}

html body.single-ys_product .ys-buying-guide-read-more {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    color: #a96800 !important;
    font-size: 12.8px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

html body.single-ys_product .ys-buying-guide-read-more:hover {
    text-decoration: underline !important;
}

/* =========================================================
   PHASE 3.1 — BALANCED FAQ + BUYING GUIDE
   Keep both cards equal height without a large blank FAQ area.
   ========================================================= */

@media (min-width: 922px) {

    html body.single-ys_product .ys-resource-grid {
        align-items: stretch !important;
    }

    html body.single-ys_product .ys-faq-card,
    html body.single-ys_product .ys-buying-guide-card {
        height: 100% !important;
        min-height: 0 !important;
    }

    /* FAQ uses the available height instead of leaving one large empty block. */
    html body.single-ys_product .ys-faq-card {
        display: flex !important;
        flex-direction: column !important;
    }

    html body.single-ys_product .ys-faq-list {
        flex: 1 1 auto !important;
        display: flex !important;
        flex-direction: column !important;
    }

    html body.single-ys_product .ys-faq-item {
        flex: 1 1 0 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }

    html body.single-ys_product .ys-faq-item[open] {
        flex: 1.35 1 auto !important;
    }

    html body.single-ys_product .ys-faq-item summary {
        min-height: 46px !important;
        padding: 10px 6px !important;
    }

    /* Buying Guide: wider/shallower image, matching the approved mockup better. */
    html body.single-ys_product .ys-buying-guide-visual {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 2.15 / 1 !important;
        margin-bottom: 11px !important;
    }

    html body.single-ys_product .ys-buying-guide-copy h3 {
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        overflow: hidden !important;
        margin-bottom: 6px !important;
        line-height: 1.20 !important;
    }

    html body.single-ys_product .ys-buying-guide-copy p {
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        overflow: hidden !important;
        margin-bottom: 8px !important;
        line-height: 1.45 !important;
    }
}

/* Tablet/mobile: stack naturally; do not force equal heights. */
@media (max-width: 921px) {
    html body.single-ys_product .ys-faq-card,
    html body.single-ys_product .ys-buying-guide-card {
        height: auto !important;
        min-height: 0 !important;
    }

    html body.single-ys_product .ys-faq-list,
    html body.single-ys_product .ys-faq-item {
        display: block !important;
    }

    html body.single-ys_product .ys-buying-guide-visual {
        aspect-ratio: 16 / 9 !important;
    }
}



/* =========================================================
   PHASE 3.2 — PUBLIC DECOR ASSET IMPLEMENTATION
   Subtle vintage travel decoration + real paper texture.
   Product content remains the visual priority.
   ========================================================= */

/* 1) Real vintage paper texture, deliberately very subtle. */
html body.single-ys_product .ys-tourism-paper {
    background:
        radial-gradient(circle at 8% 8%, rgba(199,135,18,.045) 0, transparent 24%),
        radial-gradient(circle at 92% 18%, rgba(170,120,72,.04) 0, transparent 24%),
        linear-gradient(rgba(251,245,233,.90), rgba(251,245,233,.90)),
        var(--ys-decor-paper),
        #fbf5e9 !important;
    background-size:
        auto,
        auto,
        auto,
        640px 640px,
        auto !important;
    background-repeat:
        no-repeat,
        no-repeat,
        no-repeat,
        repeat,
        repeat !important;
}

/* Old text/CSS fake stamps are superseded by the confirmed decor assets. */
html body.single-ys_product .ys-tourism-paper .ys-travel-stamp,
html body.single-ys_product .ys-tourism-paper .ys-travel-postmark,
html body.single-ys_product .ys-tourism-paper .ys-travel-ticket {
    display: none !important;
}

/* Shared rules for section-level decorative images. */
html body.single-ys_product .ys-overview-suite::before,
html body.single-ys_product .ys-overview-suite::after,
html body.single-ys_product .ys-product-info-section::before,
html body.single-ys_product .ys-product-info-section::after,
html body.single-ys_product .ys-product-gallery-section::before,
html body.single-ys_product .ys-product-gallery-section::after {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    display: block !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    pointer-events: none !important;
    user-select: none !important;
}

/* Product Overview: round travel stamp + postal cancellation mark. */
html body.single-ys_product .ys-overview-suite::before {
    top: 24px !important;
    left: clamp(12px, 2.7vw, 46px) !important;
    width: 102px !important;
    height: 102px !important;
    background-image: var(--ys-decor-passport) !important;
    opacity: .115 !important;
    transform: rotate(-8deg) !important;
}

html body.single-ys_product .ys-overview-suite::after {
    top: 18px !important;
    right: clamp(12px, 2.4vw, 42px) !important;
    width: 178px !important;
    height: 110px !important;
    background-image: var(--ys-decor-postmark) !important;
    opacity: .095 !important;
    transform: rotate(4deg) !important;
}

/* Product Information: a route sketch at left and handcrafted stamp at right. */
html body.single-ys_product .ys-product-info-section::before {
    left: clamp(12px, 2.6vw, 42px) !important;
    bottom: 16px !important;
    width: 150px !important;
    height: 92px !important;
    background-image: var(--ys-decor-route) !important;
    opacity: .075 !important;
    transform: rotate(-5deg) !important;
}

html body.single-ys_product .ys-product-info-section::after {
    top: 24px !important;
    right: clamp(14px, 2.6vw, 44px) !important;
    width: 86px !important;
    height: 86px !important;
    background-image: var(--ys-decor-handcrafted) !important;
    opacity: .085 !important;
    transform: rotate(8deg) !important;
}

/* Gallery: very light airplane + location motif, kept away from product photos. */
html body.single-ys_product .ys-product-gallery-section::before {
    top: 18px !important;
    left: clamp(14px, 2.6vw, 46px) !important;
    width: 92px !important;
    height: 92px !important;
    background-image: var(--ys-decor-airplane) !important;
    opacity: .055 !important;
    transform: rotate(-10deg) !important;
}

html body.single-ys_product .ys-product-gallery-section::after {
    right: clamp(14px, 2.5vw, 42px) !important;
    bottom: 28px !important;
    width: 72px !important;
    height: 86px !important;
    background-image: var(--ys-decor-location) !important;
    opacity: .055 !important;
    transform: rotate(5deg) !important;
}

/* 2) Five detail cards: use the real confirmed decor sketches rather than glyphs.
      Keep them barely visible so text remains dominant. */
html body.single-ys_product .ys-product-detail-card::after {
    content: "" !important;
    position: absolute !important;
    right: 7px !important;
    bottom: 5px !important;
    z-index: 0 !important;
    width: 72px !important;
    height: 72px !important;
    background-repeat: no-repeat !important;
    background-position: right bottom !important;
    background-size: contain !important;
    opacity: .07 !important;
    pointer-events: none !important;
}

html body.single-ys_product .ys-product-detail-card--applications::after {
    background-image: var(--ys-decor-location) !important;
}

html body.single-ys_product .ys-product-detail-card--customization::after {
    background-image: var(--ys-decor-puzzle) !important;
}

html body.single-ys_product .ys-product-detail-card--craftsmanship::after {
    background-image: var(--ys-decor-handcrafted) !important;
}

html body.single-ys_product .ys-product-detail-card--quality::after {
    background-image: var(--ys-decor-approved) !important;
}

html body.single-ys_product .ys-product-detail-card--packaging::after {
    background-image: var(--ys-decor-carton) !important;
}

/* 3) Minor rhythm polishing after the major structure was approved. */
html body.single-ys_product .ys-product-detail-grid-section {
    padding-top: 24px !important;
    padding-bottom: 30px !important;
}

html body.single-ys_product .ys-resource-section {
    padding-top: 24px !important;
    padding-bottom: 26px !important;
}

html body.single-ys_product .ys-product-cta {
    padding-top: 8px !important;
    padding-bottom: 18px !important;
}

/* Product content always sits above decorative layer. */
html body.single-ys_product .ys-overview-suite > .ys-product-container,
html body.single-ys_product .ys-product-info-section > .ys-product-container,
html body.single-ys_product .ys-product-gallery-section > .ys-product-container {
    position: relative !important;
    z-index: 2 !important;
}

/* Tablet: reduce decor further. */
@media (max-width: 980px) {
    html body.single-ys_product .ys-overview-suite::before,
    html body.single-ys_product .ys-overview-suite::after,
    html body.single-ys_product .ys-product-info-section::before,
    html body.single-ys_product .ys-product-info-section::after,
    html body.single-ys_product .ys-product-gallery-section::before,
    html body.single-ys_product .ys-product-gallery-section::after {
        opacity: .045 !important;
        transform: none !important;
    }

    html body.single-ys_product .ys-product-detail-card::after {
        opacity: .05 !important;
    }
}

/* Mobile: remove non-essential decor and keep only the paper feel. */
@media (max-width: 600px) {
    html body.single-ys_product .ys-overview-suite::before,
    html body.single-ys_product .ys-overview-suite::after,
    html body.single-ys_product .ys-product-info-section::before,
    html body.single-ys_product .ys-product-info-section::after,
    html body.single-ys_product .ys-product-gallery-section::before,
    html body.single-ys_product .ys-product-gallery-section::after,
    html body.single-ys_product .ys-product-detail-card::after {
        display: none !important;
    }

    html body.single-ys_product .ys-tourism-paper {
        background-size:
            auto,
            auto,
            auto,
            460px 460px,
            auto !important;
    }
}



/* =========================================================
   PHASE 3.3 — STRONGER VINTAGE DECOR VISIBILITY
   Previous Phase 3.2 was intentionally too subtle.
   This version makes the confirmed decor assets clearly visible
   while keeping product images and text as the main visual focus.
   ========================================================= */

/* 1) Make the real paper texture actually visible. */
html body.single-ys_product .ys-tourism-paper {
    background:
        radial-gradient(circle at 8% 8%, rgba(199,135,18,.045) 0, transparent 24%),
        radial-gradient(circle at 92% 18%, rgba(170,120,72,.04) 0, transparent 24%),
        linear-gradient(rgba(251,245,233,.72), rgba(251,245,233,.72)),
        var(--ys-decor-paper),
        #fbf5e9 !important;
    background-size:
        auto,
        auto,
        auto,
        560px 560px,
        auto !important;
}

/* 2) Product Overview — clearly visible but still secondary. */
html body.single-ys_product .ys-overview-suite::before {
    top: 18px !important;
    left: clamp(18px, 3vw, 52px) !important;
    width: 118px !important;
    height: 118px !important;
    opacity: .20 !important;
    transform: rotate(-9deg) !important;
}

html body.single-ys_product .ys-overview-suite::after {
    top: 15px !important;
    right: clamp(18px, 3vw, 54px) !important;
    width: 205px !important;
    height: 126px !important;
    opacity: .17 !important;
    transform: rotate(4deg) !important;
}

/* 3) Product Information — stronger travel-route and stamp accents. */
html body.single-ys_product .ys-product-info-section::before {
    left: clamp(18px, 3vw, 50px) !important;
    bottom: 10px !important;
    width: 184px !important;
    height: 110px !important;
    opacity: .14 !important;
    transform: rotate(-5deg) !important;
}

html body.single-ys_product .ys-product-info-section::after {
    top: 18px !important;
    right: clamp(18px, 3vw, 52px) !important;
    width: 104px !important;
    height: 104px !important;
    opacity: .16 !important;
    transform: rotate(8deg) !important;
}

/* 4) Gallery — visible small travel accents at the edges. */
html body.single-ys_product .ys-product-gallery-section::before {
    top: 12px !important;
    left: clamp(18px, 3vw, 52px) !important;
    width: 112px !important;
    height: 112px !important;
    opacity: .12 !important;
    transform: rotate(-10deg) !important;
}

html body.single-ys_product .ys-product-gallery-section::after {
    right: clamp(18px, 3vw, 52px) !important;
    bottom: 18px !important;
    width: 90px !important;
    height: 104px !important;
    opacity: .12 !important;
    transform: rotate(5deg) !important;
}

/* 5) Five detail cards — make the corner sketches readable. */
html body.single-ys_product .ys-product-detail-card::after {
    right: 8px !important;
    bottom: 7px !important;
    width: 86px !important;
    height: 86px !important;
    opacity: .13 !important;
}

/* 6) Give the FAQ / Buying Guide zone a very light travel-paper accent. */
html body.single-ys_product .ys-resource-section::before {
    content: "" !important;
    position: absolute !important;
    left: 20px !important;
    bottom: 14px !important;
    width: 120px !important;
    height: 80px !important;
    z-index: 0 !important;
    background-image: var(--ys-decor-route) !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-position: center !important;
    opacity: .09 !important;
    pointer-events: none !important;
}

html body.single-ys_product .ys-resource-section > .ys-product-container {
    position: relative !important;
    z-index: 2 !important;
}

/* 7) Keep tablet restrained, but still visible. */
@media (max-width: 980px) {
    html body.single-ys_product .ys-overview-suite::before,
    html body.single-ys_product .ys-overview-suite::after,
    html body.single-ys_product .ys-product-info-section::before,
    html body.single-ys_product .ys-product-info-section::after,
    html body.single-ys_product .ys-product-gallery-section::before,
    html body.single-ys_product .ys-product-gallery-section::after {
        opacity: .08 !important;
    }

    html body.single-ys_product .ys-product-detail-card::after {
        opacity: .08 !important;
    }
}

/* Mobile stays clean: paper texture only. */
@media (max-width: 600px) {
    html body.single-ys_product .ys-resource-section::before {
        display: none !important;
    }
}



/* =========================================================
   PHASE 3.4 — FULL-STRENGTH VINTAGE DECOR
   Confirmed direction:
   - no CSS transparency on decorative assets
   - larger stamp / travel graphics
   - keep graphics at outer edges or behind cards so they do not cover text
   ========================================================= */

/* Keep the paper texture visible, but do not change the opacity of the decor assets themselves. */
html body.single-ys_product .ys-tourism-paper {
    background:
        radial-gradient(circle at 8% 8%, rgba(199,135,18,.04) 0, transparent 24%),
        radial-gradient(circle at 92% 18%, rgba(170,120,72,.035) 0, transparent 24%),
        linear-gradient(rgba(251,245,233,.66), rgba(251,245,233,.66)),
        var(--ys-decor-paper),
        #fbf5e9 !important;
    background-size:
        auto,
        auto,
        auto,
        520px 520px,
        auto !important;
}

/* ---------------------------------------------------------
   PRODUCT OVERVIEW
   Large round passport stamp + large postal cancellation mark.
   --------------------------------------------------------- */
html body.single-ys_product .ys-overview-suite::before {
    top: 24px !important;
    left: 18px !important;
    width: 165px !important;
    height: 165px !important;
    opacity: 1 !important;
    transform: rotate(-10deg) !important;
    background-size: contain !important;
}

html body.single-ys_product .ys-overview-suite::after {
    top: 18px !important;
    right: 20px !important;
    width: 275px !important;
    height: 165px !important;
    opacity: 1 !important;
    transform: rotate(4deg) !important;
    background-size: contain !important;
}

/* ---------------------------------------------------------
   PRODUCT INFORMATION
   Route stays low-left behind the specification tray.
   Handcrafted stamp stays in the upper-right empty area.
   --------------------------------------------------------- */
html body.single-ys_product .ys-product-info-section::before {
    left: 20px !important;
    bottom: 10px !important;
    width: 245px !important;
    height: 145px !important;
    opacity: 1 !important;
    transform: rotate(-5deg) !important;
    background-size: contain !important;
}

html body.single-ys_product .ys-product-info-section::after {
    top: 22px !important;
    right: 24px !important;
    width: 150px !important;
    height: 150px !important;
    opacity: 1 !important;
    transform: rotate(8deg) !important;
    background-size: contain !important;
}

/* ---------------------------------------------------------
   PRODUCT GALLERY
   Larger travel accents, kept to the outer edges.
   --------------------------------------------------------- */
html body.single-ys_product .ys-product-gallery-section::before {
    top: 24px !important;
    left: 18px !important;
    width: 155px !important;
    height: 155px !important;
    opacity: 1 !important;
    transform: rotate(-11deg) !important;
    background-size: contain !important;
}

html body.single-ys_product .ys-product-gallery-section::after {
    right: 18px !important;
    bottom: 34px !important;
    width: 125px !important;
    height: 145px !important;
    opacity: 1 !important;
    transform: rotate(5deg) !important;
    background-size: contain !important;
}

/* ---------------------------------------------------------
   FIVE DETAIL CARDS
   Use full-strength confirmed sketches.
   Keep them in the lower-right corner and below the text layer.
   --------------------------------------------------------- */
html body.single-ys_product .ys-product-detail-card::after {
    right: 8px !important;
    bottom: 6px !important;
    width: 96px !important;
    height: 96px !important;
    opacity: 1 !important;
    background-size: contain !important;
    background-position: right bottom !important;
    z-index: 0 !important;
}

/* Keep all card content above the decorative artwork. */
html body.single-ys_product .ys-product-detail-card > * {
    position: relative !important;
    z-index: 2 !important;
}

/* ---------------------------------------------------------
   FAQ + BUYING GUIDE ZONE
   Use the travel route as a real decorative accent rather than
   a nearly invisible watermark.
   --------------------------------------------------------- */
html body.single-ys_product .ys-resource-section::before {
    left: 18px !important;
    bottom: 12px !important;
    width: 185px !important;
    height: 115px !important;
    opacity: 1 !important;
    background-size: contain !important;
}

/* ---------------------------------------------------------
   RESPONSIVE SAFETY
   Desktop/laptop: full strength.
   Tablet: keep full artwork but reduce size to avoid text overlap.
   Mobile: remove non-essential large decor so the content stays clean.
   --------------------------------------------------------- */
@media (max-width: 1180px) and (min-width: 601px) {
    html body.single-ys_product .ys-overview-suite::before {
        width: 125px !important;
        height: 125px !important;
    }

    html body.single-ys_product .ys-overview-suite::after {
        width: 205px !important;
        height: 125px !important;
    }

    html body.single-ys_product .ys-product-info-section::before {
        width: 185px !important;
        height: 110px !important;
    }

    html body.single-ys_product .ys-product-info-section::after {
        width: 115px !important;
        height: 115px !important;
    }

    html body.single-ys_product .ys-product-gallery-section::before {
        width: 118px !important;
        height: 118px !important;
    }

    html body.single-ys_product .ys-product-gallery-section::after {
        width: 98px !important;
        height: 115px !important;
    }

    html body.single-ys_product .ys-product-detail-card::after {
        width: 76px !important;
        height: 76px !important;
    }

    html body.single-ys_product .ys-resource-section::before {
        width: 135px !important;
        height: 85px !important;
    }

    /* No transparency reduction on tablet. */
    html body.single-ys_product .ys-overview-suite::before,
    html body.single-ys_product .ys-overview-suite::after,
    html body.single-ys_product .ys-product-info-section::before,
    html body.single-ys_product .ys-product-info-section::after,
    html body.single-ys_product .ys-product-gallery-section::before,
    html body.single-ys_product .ys-product-gallery-section::after,
    html body.single-ys_product .ys-product-detail-card::after,
    html body.single-ys_product .ys-resource-section::before {
        opacity: 1 !important;
    }
}

@media (max-width: 600px) {
    html body.single-ys_product .ys-overview-suite::before,
    html body.single-ys_product .ys-overview-suite::after,
    html body.single-ys_product .ys-product-info-section::before,
    html body.single-ys_product .ys-product-info-section::after,
    html body.single-ys_product .ys-product-gallery-section::before,
    html body.single-ys_product .ys-product-gallery-section::after,
    html body.single-ys_product .ys-product-detail-card::after,
    html body.single-ys_product .ys-resource-section::before {
        display: none !important;
    }
}



/* =========================================================
   PHASE 3.5 — DECOR POSITION / SCALE REFINEMENT
   Based on real-page review:
   1) Product Gallery left airplane should be much larger.
   2) Five detail-card decor should sit mostly outside the lower edge,
      so dense text areas are not disturbed.
   ========================================================= */

/* 1) Product Gallery left airplane: significantly enlarged and moved
      into the empty outer margin zone. */
html body.single-ys_product .ys-product-gallery-section::before {
    top: 88px !important;
    left: -34px !important;
    width: 340px !important;
    height: 340px !important;
    opacity: 1 !important;
    transform: rotate(-12deg) !important;
    background-size: contain !important;
    background-position: left top !important;
}

/* Keep the right-side location accent visible but secondary. */
html body.single-ys_product .ys-product-gallery-section::after {
    right: 10px !important;
    bottom: 22px !important;
    width: 120px !important;
    height: 138px !important;
    opacity: 1 !important;
}

/* 2) Five detail cards: let the decorative asset break out of the box.
      Most of the graphic sits below / outside the card, with only a small
      portion touching the lower-right corner. */
html body.single-ys_product .ys-product-detail-grid,
html body.single-ys_product .ys-product-detail-grid-section,
html body.single-ys_product .ys-product-detail-card {
    overflow: visible !important;
}

html body.single-ys_product .ys-product-detail-card {
    position: relative !important;
}

html body.single-ys_product .ys-product-detail-card::after {
    right: -22px !important;
    bottom: -18px !important;
    width: 116px !important;
    height: 116px !important;
    opacity: 1 !important;
    background-size: contain !important;
    background-position: right bottom !important;
    z-index: 0 !important;
}

/* Make sure text always stays above the decor. */
html body.single-ys_product .ys-product-detail-card > * {
    position: relative !important;
    z-index: 2 !important;
}

/* Slight per-card offset variation so the five cards feel more natural. */
html body.single-ys_product .ys-product-detail-card--applications::after {
    right: -16px !important;
    bottom: -20px !important;
    width: 106px !important;
    height: 106px !important;
}

html body.single-ys_product .ys-product-detail-card--customization::after {
    right: -22px !important;
    bottom: -24px !important;
    width: 114px !important;
    height: 114px !important;
}

html body.single-ys_product .ys-product-detail-card--craftsmanship::after {
    right: -18px !important;
    bottom: -24px !important;
    width: 116px !important;
    height: 116px !important;
}

html body.single-ys_product .ys-product-detail-card--quality::after {
    right: -20px !important;
    bottom: -20px !important;
    width: 112px !important;
    height: 112px !important;
}

html body.single-ys_product .ys-product-detail-card--packaging::after {
    right: -24px !important;
    bottom: -22px !important;
    width: 120px !important;
    height: 120px !important;
}

/* Tablet: still visible, but reduced so it does not collide with narrower cards. */
@media (max-width: 1180px) and (min-width: 601px) {
    html body.single-ys_product .ys-product-gallery-section::before {
        top: 74px !important;
        left: -18px !important;
        width: 230px !important;
        height: 230px !important;
    }

    html body.single-ys_product .ys-product-detail-card::after,
    html body.single-ys_product .ys-product-detail-card--applications::after,
    html body.single-ys_product .ys-product-detail-card--customization::after,
    html body.single-ys_product .ys-product-detail-card--craftsmanship::after,
    html body.single-ys_product .ys-product-detail-card--quality::after,
    html body.single-ys_product .ys-product-detail-card--packaging::after {
        width: 82px !important;
        height: 82px !important;
        right: -12px !important;
        bottom: -12px !important;
    }
}



/* =========================================================
   PHASE 3.6 — CONTACT CARD: USE ONE REAL VINTAGE STAMP
   Based on Phase 3.5.
   Remove the two CSS-generated text stamps and keep only one
   confirmed passport-style stamp at the lower-right.
   ========================================================= */

/* Remove the upper-right CSS-generated "AIRMAIL / PAR AVION" stamp. */
html body.single-ys_product .ys-product-contact-card .ys-contact-stamp {
    display: none !important;
}

/* The title no longer needs reserved space for the removed upper stamp. */
html body.single-ys_product .ys-product-contact-card h2 {
    padding-right: 0 !important;
}

/* Reuse the existing lower stamp element only as a holder for the
   real confirmed vintage passport-stamp asset. */
html body.single-ys_product .ys-product-contact-card .ys-contact-round-stamp {
    position: absolute !important;
    right: 18px !important;
    bottom: 16px !important;

    width: 112px !important;
    height: 112px !important;

    display: block !important;
    padding: 0 !important;
    margin: 0 !important;

    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    letter-spacing: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    background-image: var(--ys-decor-passport) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;

    opacity: 1 !important;
    transform: rotate(-9deg) !important;

    z-index: 1 !important;
    pointer-events: none !important;
    user-select: none !important;
}

/* Keep actual contact content above the decorative stamp. */
html body.single-ys_product .ys-product-contact-card h2,
html body.single-ys_product .ys-product-contact-card .ys-contact-intro,
html body.single-ys_product .ys-product-contact-card .ys-contact-list,
html body.single-ys_product .ys-product-contact-card .ys-contact-response {
    position: relative !important;
    z-index: 2 !important;
}

/* Give the bottom-right stamp enough visual breathing room. */
html body.single-ys_product .ys-product-contact-card {
    padding-bottom: 34px !important;
}

/* Tablet: slightly smaller, still a real full-strength stamp. */
@media (max-width: 921px) and (min-width: 601px) {
    html body.single-ys_product .ys-product-contact-card .ys-contact-round-stamp {
        right: 16px !important;
        bottom: 14px !important;
        width: 94px !important;
        height: 94px !important;
        opacity: 1 !important;
    }
}

/* Mobile: keep it, but reduce size so it does not compete with contact details. */
@media (max-width: 600px) {
    html body.single-ys_product .ys-product-contact-card .ys-contact-round-stamp {
        right: 14px !important;
        bottom: 12px !important;
        width: 78px !important;
        height: 78px !important;
        opacity: 1 !important;
    }
}



/* =========================================================
   PHASE 3.7 — DESKTOP SPACING + CONTACT POSTMARK + GALLERY DECOR
   Built directly on Phase 3.6.

   Requested calibration:
   - Product Overview / Product Information / Product Gallery:
     ~96px from previous content to heading
     ~48px from heading to the content below
   - Move the AIR MAIL / PAR AVION cancellation mark from the
     Overview area into the Contact card
   - Remove the current round passport stamp in Contact
   - Make the Gallery airplane and lower-right location mark much larger
   ========================================================= */

/* ---------------------------------------------------------
   01. THREE MAIN SECTION RHYTHMS
   Submit Inquiry button min-height = 48px.
   Above-title spacing ≈ 2 × button height = 96px.
   Below-title spacing ≈ 1 × button height = 48px.
   --------------------------------------------------------- */

/* PRODUCT OVERVIEW */
html body.single-ys_product .ys-overview-suite {
    padding-top: 96px !important;
    padding-bottom: 0 !important;
}

html body.single-ys_product .ys-overview-heading {
    margin: 0 0 48px !important;
    padding-bottom: 0 !important;
}

/* PRODUCT INFORMATION */
html body.single-ys_product .ys-product-info-section {
    padding-top: 96px !important;
    padding-bottom: 0 !important;
}

html body.single-ys_product .ys-product-info-heading {
    margin: 0 0 48px !important;
    padding-bottom: 0 !important;
}

/* PRODUCT GALLERY */
html body.single-ys_product .ys-product-gallery-section {
    padding-top: 96px !important;
    padding-bottom: 54px !important;
}

html body.single-ys_product .ys-product-gallery-section .ys-tourism-heading {
    margin: 0 0 48px !important;
    padding-bottom: 0 !important;
}

/* Some older gallery heading rules put margin/padding on the H2 itself.
   Neutralize those so the spacing is controlled only by the heading wrapper. */
html body.single-ys_product .ys-product-gallery-section .ys-tourism-heading h2,
html body.single-ys_product .ys-product-gallery-section > .ys-product-container > h2 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Keep the already-approved clean headings: no divider line / dot. */
html body.single-ys_product .ys-overview-heading::before,
html body.single-ys_product .ys-overview-heading::after,
html body.single-ys_product .ys-product-info-heading::before,
html body.single-ys_product .ys-product-info-heading::after,
html body.single-ys_product .ys-product-gallery-section .ys-tourism-heading::before,
html body.single-ys_product .ys-product-gallery-section .ys-tourism-heading::after {
    display: none !important;
    content: none !important;
}

/* ---------------------------------------------------------
   02. MOVE THE AIR-MAIL CANCELLATION MARK TO CONTACT
   --------------------------------------------------------- */

/* Remove the former upper-right AIR MAIL / PAR AVION mark from Overview. */
html body.single-ys_product .ys-overview-suite::after {
    display: none !important;
    content: none !important;
}

/* Keep the old CSS text stamp removed. */
html body.single-ys_product .ys-product-contact-card .ys-contact-stamp {
    display: none !important;
}

/* Replace the former round passport stamp with the confirmed
   AIR MAIL / PAR AVION + airplane cancellation-mark asset. */
html body.single-ys_product .ys-product-contact-card .ys-contact-round-stamp {
    position: absolute !important;
    right: 8px !important;
    bottom: 8px !important;

    width: 178px !important;
    height: 112px !important;

    display: block !important;
    margin: 0 !important;
    padding: 0 !important;

    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    letter-spacing: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    background-image: var(--ys-decor-postmark) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;

    opacity: 1 !important;
    transform: rotate(-7deg) !important;

    z-index: 1 !important;
    pointer-events: none !important;
    user-select: none !important;
}

/* Leave enough room beneath the real contact details so the larger
   postal mark reads like a physical stamp without covering text. */
html body.single-ys_product .ys-product-contact-card {
    padding-bottom: 74px !important;
}

html body.single-ys_product .ys-product-contact-card h2,
html body.single-ys_product .ys-product-contact-card .ys-contact-intro,
html body.single-ys_product .ys-product-contact-card .ys-contact-list,
html body.single-ys_product .ys-product-contact-card .ys-contact-response {
    position: relative !important;
    z-index: 2 !important;
}

/* ---------------------------------------------------------
   03. PRODUCT GALLERY OUTER DECOR — MUCH LARGER
   The assets sit on z-index 0; gallery content remains above them.
   --------------------------------------------------------- */

/* Left airplane: ~3x larger at the real laptop viewport than Phase 3.5. */
html body.single-ys_product .ys-product-gallery-section::before {
    top: 78px !important;
    left: -255px !important;

    width: 720px !important;
    height: 720px !important;

    opacity: 1 !important;
    transform: rotate(-12deg) !important;

    background-size: contain !important;
    background-position: left center !important;
}

/* Lower-right location / map-pin motif: also enlarged substantially. */
html body.single-ys_product .ys-product-gallery-section::after {
    right: -92px !important;
    bottom: 34px !important;

    width: 330px !important;
    height: 380px !important;

    opacity: 1 !important;
    transform: rotate(5deg) !important;

    background-size: contain !important;
    background-position: right bottom !important;
}

/* Gallery itself stays above the large side decorations. */
html body.single-ys_product .ys-product-gallery-section > .ys-product-container {
    position: relative !important;
    z-index: 2 !important;
}

/* ---------------------------------------------------------
   04. LAPTOP / TABLET
   Keep the same direction at the viewport used for the current screenshots.
   --------------------------------------------------------- */
@media (max-width: 1180px) and (min-width: 601px) {

    html body.single-ys_product .ys-overview-suite,
    html body.single-ys_product .ys-product-info-section,
    html body.single-ys_product .ys-product-gallery-section {
        padding-top: 82px !important;
    }

    html body.single-ys_product .ys-overview-heading,
    html body.single-ys_product .ys-product-info-heading,
    html body.single-ys_product .ys-product-gallery-section .ys-tourism-heading {
        margin-bottom: 42px !important;
    }

    html body.single-ys_product .ys-product-gallery-section::before {
        top: 70px !important;
        left: -220px !important;
        width: 620px !important;
        height: 620px !important;
        opacity: 1 !important;
    }

    html body.single-ys_product .ys-product-gallery-section::after {
        right: -74px !important;
        bottom: 28px !important;
        width: 285px !important;
        height: 330px !important;
        opacity: 1 !important;
    }

    html body.single-ys_product .ys-product-contact-card .ys-contact-round-stamp {
        right: 6px !important;
        bottom: 8px !important;
        width: 158px !important;
        height: 100px !important;
        opacity: 1 !important;
    }

    html body.single-ys_product .ys-product-contact-card {
        padding-bottom: 66px !important;
    }
}

/* Mobile remains compact; large page-edge decoration is unnecessary there. */
@media (max-width: 600px) {
    html body.single-ys_product .ys-overview-suite,
    html body.single-ys_product .ys-product-info-section,
    html body.single-ys_product .ys-product-gallery-section {
        padding-top: 44px !important;
    }

    html body.single-ys_product .ys-overview-heading,
    html body.single-ys_product .ys-product-info-heading,
    html body.single-ys_product .ys-product-gallery-section .ys-tourism-heading {
        margin-bottom: 26px !important;
    }

    html body.single-ys_product .ys-product-gallery-section::before,
    html body.single-ys_product .ys-product-gallery-section::after {
        display: none !important;
    }

    html body.single-ys_product .ys-product-contact-card .ys-contact-round-stamp {
        right: 10px !important;
        bottom: 10px !important;
        width: 122px !important;
        height: 78px !important;
    }

    html body.single-ys_product .ys-product-contact-card {
        padding-bottom: 58px !important;
    }
}



/* =========================================================
   PHASE 3.8 — FINAL DECOR SIZE / POSITION CALIBRATION
   Built directly on Phase 3.7.

   Changes requested from the real-page screenshot:
   1) Keep the three main-section spacings from Phase 3.7 unchanged.
   2) Restore the Gallery left airplane to the Phase 3.6 / 3.5 size.
   3) Keep the Gallery right location-pin size, but move it inward so
      it sits in the middle of the right-side blank area.
   4) Enlarge the Contact postal cancellation mark about 1.5–2x,
      while keeping it fully inside the Contact card.
   ========================================================= */

/* ---------------------------------------------------------
   01. PRODUCT GALLERY — LEFT AIRPLANE
   Restore the previous approved Phase 3.5 / 3.6 scale.
   --------------------------------------------------------- */

html body.single-ys_product .ys-product-gallery-section::before {
    top: 88px !important;
    left: -34px !important;

    width: 340px !important;
    height: 340px !important;

    opacity: 1 !important;
    transform: rotate(-12deg) !important;

    background-size: contain !important;
    background-position: left top !important;
}

/* ---------------------------------------------------------
   02. PRODUCT GALLERY — RIGHT LOCATION PIN
   Keep Phase 3.7 size, move it inward from the page edge.
   --------------------------------------------------------- */

html body.single-ys_product .ys-product-gallery-section::after {
    right: 30px !important;
    bottom: 34px !important;

    width: 330px !important;
    height: 380px !important;

    opacity: 1 !important;
    transform: rotate(5deg) !important;

    background-size: contain !important;
    background-position: center bottom !important;
}

/* ---------------------------------------------------------
   03. CONTACT CARD — LARGER REAL POSTAL CANCELLATION MARK
   Fully contained inside the current card.
   --------------------------------------------------------- */

html body.single-ys_product .ys-product-contact-card {
    overflow: hidden !important;
    padding-bottom: 122px !important;
}

html body.single-ys_product .ys-product-contact-card .ys-contact-round-stamp {
    position: absolute !important;

    right: 14px !important;
    bottom: 12px !important;

    width: 270px !important;
    height: 170px !important;

    display: block !important;
    margin: 0 !important;
    padding: 0 !important;

    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    letter-spacing: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    background-image: var(--ys-decor-postmark) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;

    opacity: 1 !important;
    transform: rotate(-7deg) !important;

    z-index: 1 !important;
    pointer-events: none !important;
    user-select: none !important;
}

/* Real contact information remains above the decoration. */
html body.single-ys_product .ys-product-contact-card h2,
html body.single-ys_product .ys-product-contact-card .ys-contact-intro,
html body.single-ys_product .ys-product-contact-card .ys-contact-list,
html body.single-ys_product .ys-product-contact-card .ys-contact-response {
    position: relative !important;
    z-index: 2 !important;
}

/* ---------------------------------------------------------
   04. LAPTOP / TABLET
   The current screenshot falls close to this range, so values are
   calibrated specifically for a typical laptop-width product page.
   --------------------------------------------------------- */
@media (max-width: 1180px) and (min-width: 601px) {

    /* Airplane: same size as the previous approved version. */
    html body.single-ys_product .ys-product-gallery-section::before {
        top: 74px !important;
        left: -18px !important;

        width: 230px !important;
        height: 230px !important;

        opacity: 1 !important;
    }

    /* Location pin: same Phase 3.7 scale, centered better in the blank area. */
    html body.single-ys_product .ys-product-gallery-section::after {
        right: 26px !important;
        bottom: 28px !important;

        width: 285px !important;
        height: 330px !important;

        opacity: 1 !important;
        background-position: center bottom !important;
    }

    /* Postal mark: about 1.6x the previous laptop size,
       but still fully contained within the Contact card. */
    html body.single-ys_product .ys-product-contact-card {
        padding-bottom: 112px !important;
        overflow: hidden !important;
    }

    html body.single-ys_product .ys-product-contact-card .ys-contact-round-stamp {
        right: 12px !important;
        bottom: 10px !important;

        width: 250px !important;
        height: 158px !important;

        opacity: 1 !important;
    }
}

/* Mobile stays compact and clean. */
@media (max-width: 600px) {

    html body.single-ys_product .ys-product-gallery-section::before,
    html body.single-ys_product .ys-product-gallery-section::after {
        display: none !important;
    }

    html body.single-ys_product .ys-product-contact-card {
        padding-bottom: 78px !important;
        overflow: hidden !important;
    }

    html body.single-ys_product .ys-product-contact-card .ys-contact-round-stamp {
        right: 8px !important;
        bottom: 8px !important;

        width: 150px !important;
        height: 95px !important;
    }
}



/* =========================================================
   PHASE 3.9 — GALLERY RIGHT LOCATION-PIN POSITION ONLY
   Keep Phase 3.8 size exactly the same.
   Move the visible pin farther right so it sits in the middle
   of the blank area rather than hugging the product image.
   ========================================================= */

html body.single-ys_product .ys-product-gallery-section::after {
    right: -72px !important;
    bottom: 34px !important;

    width: 330px !important;
    height: 380px !important;

    opacity: 1 !important;
    transform: rotate(5deg) !important;

    background-size: contain !important;
    background-position: center bottom !important;
}

/* Current laptop-width view */
@media (max-width: 1180px) and (min-width: 601px) {
    html body.single-ys_product .ys-product-gallery-section::after {
        right: -62px !important;
        bottom: 28px !important;

        width: 285px !important;
        height: 330px !important;

        opacity: 1 !important;
        background-position: center bottom !important;
    }
}

/* Mobile remains unchanged: this large edge decoration stays hidden. */
@media (max-width: 600px) {
    html body.single-ys_product .ys-product-gallery-section::after {
        display: none !important;
    }
}



/* =========================================================
   PHASE 4.0 — GALLERY AIRPLANE CENTERING + HERO RECREATION
   Built directly on the approved Phase 3.9 desktop layout.

   1) Move Gallery left airplane rightward into the visual center
      of the left-side blank space. Keep its approved size.
   2) Rebuild Hero to match the confirmed warm vintage travel mockup:
      parchment card on the left, dominant product image on the right,
      real vintage stamps, subtle postal mark, and compass decoration.
   ========================================================= */

/* ---------------------------------------------------------
   01. GALLERY LEFT AIRPLANE — POSITION ONLY
   Keep Phase 3.8 / 3.9 size, move right.
   --------------------------------------------------------- */

html body.single-ys_product .ys-product-gallery-section::before {
    top: 88px !important;
    left: 34px !important;

    width: 340px !important;
    height: 340px !important;

    opacity: 1 !important;
    transform: rotate(-12deg) !important;

    background-size: contain !important;
    background-position: left top !important;
}

/* Typical laptop-width view */
@media (max-width: 1180px) and (min-width: 601px) {
    html body.single-ys_product .ys-product-gallery-section::before {
        top: 74px !important;
        left: 32px !important;

        width: 230px !important;
        height: 230px !important;

        opacity: 1 !important;
    }
}


/* ---------------------------------------------------------
   02. HERO — DESKTOP / LAPTOP
   --------------------------------------------------------- */



/* ---------------------------------------------------------
   03. HERO — SMALLER LAPTOP CALIBRATION
   --------------------------------------------------------- */



/* ---------------------------------------------------------
   04. TABLET / MOBILE
   Keep the existing stacked responsive Hero.
   Remove desktop-only parchment overlays / compass.
   --------------------------------------------------------- */




/* =========================================================
   PHASE 4.1 — FAQ FULL ANSWERS
   Built directly on Phase 4.0.

   Fixes:
   - FAQ answers use the complete ACF content (PHP change).
   - No max-height, line clamp, ellipsis or overflow clipping.
   - An opened FAQ item grows to its natural height.
   - On desktop the FAQ and Buying Guide outer cards still remain
     equal height because the shared resource grid continues to stretch.
   ========================================================= */

html body.single-ys_product .ys-faq-item[open] {
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    justify-content: flex-start !important;
}

html body.single-ys_product .ys-faq-answer {
    display: block !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    padding: 0 28px 13px 6px !important;

    overflow: visible !important;
    white-space: normal !important;
    text-overflow: clip !important;

    -webkit-line-clamp: initial !important;
    -webkit-box-orient: initial !important;
    line-clamp: initial !important;

    overflow-wrap: anywhere !important;
    word-break: normal !important;

    color: #53687b !important;
    font-family: inherit !important;
    font-size: 12.5px !important;
    line-height: 1.55 !important;
}

/* Any paragraphs/lists coming from future FAQ output should also
   remain fully visible and inherit the website typography. */
html body.single-ys_product .ys-faq-answer p,
html body.single-ys_product .ys-faq-answer ul,
html body.single-ys_product .ys-faq-answer ol {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 0 8px !important;
    overflow: visible !important;
    white-space: normal !important;
    font-family: inherit !important;
}

html body.single-ys_product .ys-faq-answer p:last-child,
html body.single-ys_product .ys-faq-answer ul:last-child,
html body.single-ys_product .ys-faq-answer ol:last-child {
    margin-bottom: 0 !important;
}

/* Make contextual FAQ links clearly identifiable without changing
   the existing FAQ typography, spacing or card layout. */
html body.single-ys_product .ys-faq-answer a {
    color: #a96800 !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 2px !important;
}

html body.single-ys_product .ys-faq-answer a:hover,
html body.single-ys_product .ys-faq-answer a:focus-visible {
    color: #082743 !important;
}

/* Keep closed FAQ rows evenly distributed in the balanced card,
   but never force an opened row back into a fixed fraction. */
@media (min-width: 922px) {
    html body.single-ys_product .ys-faq-item:not([open]) {
        flex: 1 1 0 !important;
    }

    html body.single-ys_product .ys-faq-card,
    html body.single-ys_product .ys-buying-guide-card {
        max-height: none !important;
        overflow: visible !important;
    }
}

/* Tablet/mobile: natural document flow. */
@media (max-width: 921px) {
    html body.single-ys_product .ys-faq-item,
    html body.single-ys_product .ys-faq-item[open] {
        display: block !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }
}



/* =========================================================
   PHASE 4.2 — HERO VISUAL TUNING + GALLERY AIRPLANE CENTERING
   Built directly on Phase 4.1.

   Based on the confirmed full-page mockup:
   - Gallery airplane moves left into the visual center of the blank zone.
   - Hero parchment becomes narrower and more like a real aged sheet.
   - The paper/image overlap is reduced substantially.
   - Hero stamps are larger and more readable.
   - Hero image becomes slightly more dominant.
   - Text block is moved slightly lower and tightened.
   ========================================================= */


/* ---------------------------------------------------------
   01. PRODUCT GALLERY — LEFT AIRPLANE POSITION ONLY
   Keep the approved size, move left from Phase 4.0.
   --------------------------------------------------------- */

html body.single-ys_product .ys-product-gallery-section::before {
    top: 88px !important;
    left: -14px !important;

    width: 340px !important;
    height: 340px !important;

    opacity: 1 !important;
    transform: rotate(-12deg) !important;

    background-size: contain !important;
    background-position: left top !important;
}

@media (max-width: 1180px) and (min-width: 601px) {
    html body.single-ys_product .ys-product-gallery-section::before {
        top: 74px !important;
        left: -16px !important;

        width: 230px !important;
        height: 230px !important;

        opacity: 1 !important;
    }
}


/* ---------------------------------------------------------
   02. HERO — DESKTOP
   --------------------------------------------------------- */



/* ---------------------------------------------------------
   03. HERO — LAPTOP
   This is the range most similar to the screenshots being reviewed.
   --------------------------------------------------------- */



/* ---------------------------------------------------------
   04. TABLET / MOBILE
   Preserve the previously stable stacked Hero.
   --------------------------------------------------------- */




/* =========================================================
   PHASE 4.3 — HERO IMAGE / PAGE BLENDING
   Built directly on Phase 4.2.

   Goal:
   - Hero base/background matches the main paper section below.
   - Right product image stays flush to top/right.
   - Image fades softly into the page on its LEFT edge.
   - Image fades softly into the page on its BOTTOM edge.
   - Keep all approved Hero text, stamps, compass and product imagery.
   - Remove the decorative line under "Send Us Your Inquiry".
   ========================================================= */

@media (min-width: 922px) {

    /* -----------------------------------------------------
       01. HERO BASE = SAME PAPER COLOR AS MAIN PAGE
       ----------------------------------------------------- */
    

    /* Keep the right image physically flush to the top and right.
       Any transparent/faded area reveals the SAME paper color below. */
    

    

    /* -----------------------------------------------------
       02. LEFT-SIDE SOFT FADE
       Re-enable the image pseudo element that older rules disabled.
       A broad paper-colored gradient + slight backdrop blur produces
       the soft transition seen in the approved mockup.
       ----------------------------------------------------- */
    

    /* -----------------------------------------------------
       03. BOTTOM SOFT FADE
       The photo dissolves into the same paper tone used by the
       Product Overview section below, eliminating the hard cut.
       ----------------------------------------------------- */
    

    /* -----------------------------------------------------
       04. PAPER PANEL / IMAGE CONNECTION
       Keep the approved parchment design, but avoid a visible
       colored strip between the paper and the right photo.
       ----------------------------------------------------- */
    

    

    /* Keep the postal mark decoration exactly as a decoration;
       do not use this pseudo element as a page-edge gradient. */
    

    /* -----------------------------------------------------
       05. HERO → MAIN BODY CONTINUITY
       Remove any tiny rendering seam between the two areas.
       ----------------------------------------------------- */
    html body.single-ys_product .ys-tourism-paper {
        margin-top: -2px !important;
        border-top: 0 !important;
    }
}


/* Laptop: slightly shorter fades so the product image remains dominant. */



/* Tablet/mobile: preserve the stable stacked Hero.
   No desktop fade overlays are needed there. */
@media (max-width: 921px) {

    

    html body.single-ys_product .ys-tourism-paper {
        margin-top: 0 !important;
    }
}


/* =========================================================
   CONTACT FORM — REMOVE TITLE DECORATIVE LINE
   ========================================================= */

html body.single-ys_product .ys-form-heading {
    padding-bottom: 0 !important;
}

html body.single-ys_product .ys-form-heading::after {
    content: none !important;
    display: none !important;
}



/* =========================================================
   PHASE 4.4 — HERO LAYERING + COLOR-ONLY TRANSITIONS
   Built directly on Phase 4.3.

   Confirmed direction:
   - Remove all 3 top decorations from the left Hero text panel.
   - Keep only the lower-left compass as the Hero decoration.
   - No blur anywhere in the Hero transitions.
   - Hero empty/background area matches the main paper section below.
   - Left text panel is slightly darker, like a sheet laid on top.
   - Reduce the left panel's overlap over the right product image.
   - Left and bottom image transitions use COLOR GRADIENTS ONLY.
   ========================================================= */

@media (min-width: 922px) {

    /* -----------------------------------------------------
       01. HERO BACKGROUND = SAME VISUAL PAPER AS MAIN BODY
       ----------------------------------------------------- */
    

    


    /* -----------------------------------------------------
       02. LEFT TEXT PANEL = A SEPARATE, SLIGHTLY DARKER SHEET
       Keep a little page background visible around it.
       ----------------------------------------------------- */
    

    /* Remove ALL three upper Hero stamps.
       The pseudo-element is now ONLY the parchment sheet. */
    

    /* The former center postal mark is removed completely. */
    


    /* -----------------------------------------------------
       03. RIGHT PRODUCT IMAGE — MORE NATURAL SPLIT
       Slightly wider image, while the parchment no longer covers it.
       ----------------------------------------------------- */
    

    

    


    /* -----------------------------------------------------
       04. LEFT IMAGE TRANSITION — COLOR ONLY, NO BLUR
       ----------------------------------------------------- */
    


    /* -----------------------------------------------------
       05. BOTTOM IMAGE TRANSITION — COLOR ONLY, NO BLUR
       ----------------------------------------------------- */
    


    /* -----------------------------------------------------
       06. HERO → MAIN PAGE CONTINUITY
       ----------------------------------------------------- */
    html body.single-ys_product .ys-tourism-paper {
        margin-top: -2px !important;
        border-top: 0 !important;
    }


    /* -----------------------------------------------------
       07. KEEP ONLY THE LOWER-LEFT COMPASS
       ----------------------------------------------------- */
    
}


/* ---------------------------------------------------------
   LAPTOP CALIBRATION
   --------------------------------------------------------- */



/* ---------------------------------------------------------
   TABLET / MOBILE
   Preserve the existing stable stacked Hero.
   --------------------------------------------------------- */



/* =========================================================
   CONTACT FORM — KEEP "SEND US YOUR INQUIRY" CLEAN
   ========================================================= */

html body.single-ys_product .ys-form-heading,
html body.single-ys_product .ys-product-form-card h2 {
    padding-bottom: 0 !important;
}

html body.single-ys_product .ys-form-heading::before,
html body.single-ys_product .ys-form-heading::after,
html body.single-ys_product .ys-product-form-card h2::before,
html body.single-ys_product .ys-product-form-card h2::after {
    content: none !important;
    display: none !important;
}



/* =========================================================
   PHASE 5.0 — CLEAN HERO REBUILD
   SINGLE SOURCE OF TRUTH FOR HERO
   =========================================================

   Visual target:
   - Main Hero background matches the warm paper body below.
   - A smaller/darker aged-paper text sheet sits on top of that base.
   - Right product image is the dominant visual area.
   - Left image edge + bottom image edge use COLOR transition only.
   - NO blur / backdrop-filter / mask.
   - NO upper Hero stamps.
   - Keep only the lower-left vintage compass.
   ========================================================= */


/* ---------------------------------------------------------
   HERO BASE — DESKTOP
   --------------------------------------------------------- */
@media (min-width: 922px) {

    

    


    /* -----------------------------------------------------
       LEFT AGED-PAPER CARD
       Narrower than previous versions; visible base around it.
       ----------------------------------------------------- */
    

    

    /* Explicitly remove every upper Hero decoration. */
    

    


    /* -----------------------------------------------------
       HERO TEXT
       Uses the site's active font family.
       ----------------------------------------------------- */
    

    

    

    

    

    


    /* -----------------------------------------------------
       RIGHT PRODUCT IMAGE
       Starts behind the card slightly, like the approved mockup.
       ----------------------------------------------------- */
    

    


    /* -----------------------------------------------------
       LEFT IMAGE TRANSITION — COLOR ONLY
       No blur, no mask.
       ----------------------------------------------------- */
    


    /* -----------------------------------------------------
       BOTTOM IMAGE TRANSITION — COLOR ONLY
       ----------------------------------------------------- */
    


    /* -----------------------------------------------------
       KEEP ONLY THE COMPASS
       ----------------------------------------------------- */
    

    


    /* Remove any seam between Hero and main paper body. */
    body.single-ys_product .ys-tourism-paper {
        margin-top: -1px;
        border-top: 0;
    }
}


/* ---------------------------------------------------------
   LAPTOP
   --------------------------------------------------------- */



/* ---------------------------------------------------------
   TABLET / MOBILE
   Clean stacked version. No desktop-only Hero overlays.
   --------------------------------------------------------- */



/* =========================================================
   CONTACT FORM TITLE — CLEAN
   ========================================================= */
body.single-ys_product .ys-form-heading,
body.single-ys_product .ys-product-form-card h2 {
    padding-bottom: 0;
}

body.single-ys_product .ys-form-heading::before,
body.single-ys_product .ys-form-heading::after,
body.single-ys_product .ys-product-form-card h2::before,
body.single-ys_product .ys-product-form-card h2::after {
    content: none;
    display: none;
}



/* =========================================================
   PHASE 5.1 — EXACT BODY-BG HERO MATCH + DARKER CARD
   Built directly on the clean Phase 5.0 Hero.

   Critical corrections:
   1) Hero empty/background area uses EXACTLY the same final
      background stack as .ys-tourism-paper.
   2) Remove any top gap from Astra/content wrappers.
   3) Keep the right image at its natural aspect ratio with
      object-fit: cover (no distortion), flush to top/right.
   4) Left/bottom transitions are COLOR ONLY — no blur/mask.
   5) Left text sheet is visibly darker than the page background.
   ========================================================= */


/* ---------------------------------------------------------
   00. REMOVE ANY THEME GAP ABOVE HERO
   --------------------------------------------------------- */



/* ---------------------------------------------------------
   01. HERO BASE = EXACT SAME BACKGROUND AS MAIN BODY
   This is copied from the current final .ys-tourism-paper rule.
   --------------------------------------------------------- */
@media (min-width: 922px) {

    


    /* -----------------------------------------------------
       02. LEFT TEXT SHEET — CLEARLY DARKER / LAYERED
       ----------------------------------------------------- */
    

    

    /* No upper stamps / no extra pseudo decoration. */
    


    /* -----------------------------------------------------
       03. RIGHT IMAGE — FLUSH TOP/RIGHT, NO DISTORTION
       object-fit: cover preserves source aspect ratio.
       ----------------------------------------------------- */
    

    

    


    /* -----------------------------------------------------
       04. LEFT TRANSITION — COLOR ONLY
       Narrower and cleaner than earlier versions.
       ----------------------------------------------------- */
    


    /* -----------------------------------------------------
       05. BOTTOM TRANSITION — COLOR ONLY
       ----------------------------------------------------- */
    


    /* -----------------------------------------------------
       06. KEEP ONLY COMPASS
       ----------------------------------------------------- */
    

    


    /* -----------------------------------------------------
       07. HERO / MAIN BODY JOIN
       ----------------------------------------------------- */
    body.single-ys_product .ys-tourism-paper {
        margin-top: -1px !important;
        border-top: 0 !important;
    }
}


/* Laptop calibration — still exact body background and flush image. */



/* Mobile keeps the stable stacked layout. */



/* =========================================================
   PHASE 5.2 — HERO REBUILD TO MATCH CONFIRMED MOCKUP
   This is the ONLY active Hero rule set.

   Geometry from the confirmed reference:
   - hero empty space = exact same warm paper background as body below
   - darker paper card floats on top at left
   - real GAP between card and image
   - right product image touches HEADER + RIGHT EDGE
   - left image edge transitions by COLOR only
   - bottom image edge transitions by COLOR only
   - no blur / no mask / no product softening
   - keep only the lower-left compass
   ========================================================= */


/* ---------------------------------------------------------
   A. REMOVE ASTRA / CONTENT GAP ABOVE HERO
   --------------------------------------------------------- */
body.single-ys_product #content,
body.single-ys_product #content.site-content,
body.single-ys_product .site-content,
body.single-ys_product .site-content > .ast-container,
body.single-ys_product .content-area,
body.single-ys_product #primary,
body.single-ys_product .site-main,
body.single-ys_product .ast-article-single,
body.single-ys_product .entry-content,
body.single-ys_product .ys-product-page {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.single-ys_product.ast-separate-container #primary,
body.single-ys_product.ast-plain-container #primary {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* ---------------------------------------------------------
   B. DESKTOP HERO
   --------------------------------------------------------- */
@media (min-width: 922px) {

    /*
     * EXACT SAME background stack as the current .ys-tourism-paper.
     * This is intentionally duplicated verbatim so any exposed Hero
     * area reads as the same page, not as a separate white/header block.
     */
    

    

    


    /* -----------------------------------------------------
       C. LEFT DARKER PAPER CARD
       ----------------------------------------------------- */
    

    

    /* No top stamps. No postal pseudo decoration. */
    

    


    /* -----------------------------------------------------
       D. HERO TEXT — keep approved site font
       ----------------------------------------------------- */
    

    

    

    

    

    


    /* -----------------------------------------------------
       E. RIGHT IMAGE
       Card ends ~43%; image begins at 48%.
       The ~5% space between them is intentional.
       ----------------------------------------------------- */
    

    


    /* -----------------------------------------------------
       F. CARD ↔ IMAGE GAP TRANSITION — COLOR ONLY
       This overlay lives in the GAP, not as blur on products.
       ----------------------------------------------------- */
    


    /* -----------------------------------------------------
       G. IMAGE LEFT EDGE — NO BLUR
       The gap overlay above does the transition.
       ----------------------------------------------------- */
    


    /* -----------------------------------------------------
       H. IMAGE BOTTOM → BODY — COLOR ONLY
       No hard horizontal line; no product blur.
       ----------------------------------------------------- */
    


    /* -----------------------------------------------------
       I. KEEP ONLY LOWER-LEFT COMPASS
       ----------------------------------------------------- */
    

    


    /* exact continuation into body */
    body.single-ys_product .ys-tourism-paper {
        margin-top: -1px !important;
        border-top: 0 !important;
    }
}


/* ---------------------------------------------------------
   J. LAPTOP CALIBRATION
   --------------------------------------------------------- */



/* ---------------------------------------------------------
   K. TABLET / MOBILE — STABLE STACK
   --------------------------------------------------------- */



/* =========================================================
   CONTACT TITLE — KEEP CLEAN
   ========================================================= */
body.single-ys_product .ys-form-heading,
body.single-ys_product .ys-product-form-card h2 {
    padding-bottom: 0 !important;
}

body.single-ys_product .ys-form-heading::before,
body.single-ys_product .ys-form-heading::after,
body.single-ys_product .ys-product-form-card h2::before,
body.single-ys_product .ys-product-form-card h2::after {
    content: none !important;
    display: none !important;
}

/* =========================================================
   PHASE 8.0 — FINAL PAPER-FRAME HERO
   FINAL SOURCE OF TRUTH FOR HERO
   =========================================================

   Asset structure:
   - Background: assets/hero/backgrounds/tourism-souvenir-hero-background.webp
   - Frame:      assets/hero/frames/vintage-paper-frame-overlay.webp
   - Product:    ACF / current 1:1 product image

   Final corrections:
   - Use the new Hero background with the very shallow bottom paper blend.
   - Do NOT add a flat CSS strip over the bottom; the image handles the blend.
   - Use the new thin paper frame at natural 100% size (no 200% zoom).
   - Enlarge the 1:1 product window to fit the transparent opening.
   - Keep live HTML/ACF copy on the left.
   - Tighten Hero → Product Overview spacing.
   ========================================================= */


/* ---------------------------------------------------------
   01. REMOVE ASTRA / THEME SPACE AROUND HERO
   --------------------------------------------------------- */
body.single-ys_product #content,
body.single-ys_product #content.site-content,
body.single-ys_product .site-content,
body.single-ys_product .site-content > .ast-container,
body.single-ys_product .content-area,
body.single-ys_product #primary,
body.single-ys_product .site-main,
body.single-ys_product .ast-article-single,
body.single-ys_product .entry-content,
body.single-ys_product .ys-product-page {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.single-ys_product.ast-separate-container #primary,
body.single-ys_product.ast-plain-container #primary {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* ---------------------------------------------------------
   02. DESKTOP / LAPTOP
   --------------------------------------------------------- */
@media (min-width: 922px) {

    body.single-ys_product .ys-product-hero {
        position: relative;
        isolation: isolate;

        width: 100%;
        height: clamp(640px, 47vw, 850px);
        min-height: 640px;

        margin: 0;
        padding: 0;
        overflow: hidden;

        background-color: #fbf5e9;
        background-image: var(--ys-hero-background);
        background-repeat: no-repeat;
        background-position: center top;
        background-size: 100% 100%;

        border: 0;
        box-shadow: none;
    }

    body.single-ys_product .ys-product-hero-grid {
        position: relative;
        z-index: 2;

        display: block;
        width: 100%;
        max-width: none;
        height: 100%;

        margin: 0;
        padding: 0;
    }


    /* LEFT LIVE COPY — stays inside the large blank paper area. */
    body.single-ys_product .ys-product-hero-content {
        position: absolute;
        z-index: 5;

        top: 43.5%;
        left: clamp(72px, 7vw, 148px);

        width: min(38vw, 620px);
        max-width: 620px;

        margin: 0;
        padding: 0;
        transform: translateY(-50%);

        background: transparent;
        border: 0;
        box-shadow: none;
    }

    body.single-ys_product .ys-product-hero-content::before,
    body.single-ys_product .ys-product-hero-content::after {
        content: none !important;
        display: none !important;
    }

    body.single-ys_product .ys-product-eyebrow {
        margin: 0 0 17px;

        color: #a96800;
        font-family: inherit;
        font-size: clamp(13px, .92vw, 16px);
        line-height: 1.25;
        font-weight: 700;
        letter-spacing: .10em;
        text-transform: uppercase;
    }

    body.single-ys_product .ys-product-title {
        width: 100%;
        max-width: 610px;

        margin: 0 0 21px;

        color: var(--ys-navy);
        font-family: inherit;
        font-size: clamp(44px, 3.75vw, 66px);
        line-height: 1.03;
        font-weight: 700;
        letter-spacing: -.03em;
    }

    body.single-ys_product .ys-product-short-description {
        width: min(100%, 550px);
        max-width: 550px;

        margin: 0 0 27px;

        color: #344f65;
        font-family: inherit;
        font-size: clamp(15px, 1.05vw, 18px);
        line-height: 1.58;
    }

    body.single-ys_product .ys-product-short-description p {
        margin: 0;
    }

    body.single-ys_product .ys-product-hero .ys-product-button {
        display: flex;
        width: max-content;
        min-width: 205px;
        min-height: 54px;

        margin-left: auto;
        margin-right: auto;

        justify-content: center;
        gap: 0;
        padding: 13px 28px;

        border-radius: 8px;
    }

    body.single-ys_product .ys-product-hero .ys-product-button::after {
        content: none !important;
        display: none !important;
    }


    /* RIGHT PRODUCT — new thin paper frame. */
    body.single-ys_product .ys-product-hero-image {
        position: absolute;
        z-index: 4;

        top: 4.5%;
        right: 1.25%;

        width: min(49vw, 900px);
        aspect-ratio: 1 / 1;

        margin: 0;
        padding: 0;
        pointer-events: none;
    }

    body.single-ys_product .ys-hero-photo-mount {
        position: relative;
        width: 100%;
        height: 100%;
        margin: 0;

        filter: drop-shadow(0 12px 20px rgba(70, 47, 24, .10));
    }

    /* New asset is already square and correctly cropped: use 100%, not 200%. */
    body.single-ys_product .ys-hero-photo-frame {
        position: absolute;
        z-index: 3;

        inset: 0;
        display: block;

        width: 100%;
        height: 100%;
        max-width: none;

        margin: 0;
        object-fit: contain;

        pointer-events: none;
        user-select: none;
    }

    /*
     * The transparent opening of the new frame safely accepts a ~69% square.
     * Product stays 1:1 and is never stretched.
     */
    body.single-ys_product .ys-hero-photo-window {
        position: absolute;
        z-index: 2;

        top: 50%;
        left: 50%;

        width: 69%;
        aspect-ratio: 1 / 1;

        overflow: hidden;
        transform: translate(-50%, -50%);

        background: #d9b77a;
        border-radius: 2px;
        box-shadow: 0 2px 7px rgba(63, 43, 24, .08);
    }

    body.single-ys_product .ys-main-product-image {
        display: block;

        width: 100%;
        height: 100%;
        max-width: none;
        max-height: none;

        margin: 0;
        padding: 0;

        object-fit: contain;
        object-position: center center;

        background: #d9b77a;
        border: 0;
        border-radius: 0;
        box-shadow: none;

        filter: none;
        transform: none;

        -webkit-mask-image: none;
        mask-image: none;
    }

    body.single-ys_product .ys-product-hero-image::before,
    body.single-ys_product .ys-product-hero-image::after,
    body.single-ys_product .ys-hero-photo-mount::before,
    body.single-ys_product .ys-hero-photo-mount::after,
    body.single-ys_product .ys-product-hero::before,
    body.single-ys_product .ys-product-hero::after {
        content: none !important;
        display: none !important;
    }

    /* The Hero image now owns the bottom transition. Do not cover it with a flat strip. */
    body.single-ys_product .ys-tourism-paper {
        margin-top: -1px !important;
        border-top: 0 !important;
    }

    /* Override the old 62px !important rule: keep only a compact breathing space. */
    body.single-ys_product .ys-tourism-paper .ys-overview-suite {
        padding-top: 22px !important;
    }
}


/* ---------------------------------------------------------
   03. SMALL LAPTOP
   --------------------------------------------------------- */
@media (max-width: 1189px) and (min-width: 922px) {

    body.single-ys_product .ys-product-hero {
        height: clamp(590px, 52vw, 700px);
        min-height: 590px;
    }

    body.single-ys_product .ys-product-hero-content {
        top: 43%;
        left: clamp(48px, 5vw, 72px);

        width: 38%;
        max-width: 455px;
    }

    body.single-ys_product .ys-product-title {
        font-size: clamp(38px, 3.85vw, 48px);
    }

    body.single-ys_product .ys-product-short-description {
        max-width: 430px;
        font-size: 14px;
        line-height: 1.55;
    }

    body.single-ys_product .ys-product-hero-image {
        top: 7%;
        right: -1%;
        width: 52%;
    }
}


/* ---------------------------------------------------------
   04. TABLET
   --------------------------------------------------------- */
@media (max-width: 921px) and (min-width: 641px) {

    body.single-ys_product .ys-product-hero {
        position: relative;
        isolation: isolate;

        width: 100%;
        min-height: 790px;

        margin: 0;
        padding: 0;
        overflow: hidden;

        background-color: #fbf5e9;
        background-image: var(--ys-hero-background);
        background-repeat: no-repeat;
        background-position: center top;
        background-size: auto 100%;

        border: 0;
    }

    body.single-ys_product .ys-product-hero-grid {
        position: relative;
        width: 100%;
        height: 790px;
        margin: 0;
        padding: 0;
    }

    body.single-ys_product .ys-product-hero-content {
        position: absolute;
        z-index: 5;

        top: 62px;
        left: 6%;

        width: 49%;
        max-width: 430px;

        margin: 0;
        padding: 0;
        background: transparent;
    }

    body.single-ys_product .ys-product-hero-content::before,
    body.single-ys_product .ys-product-hero-content::after {
        content: none !important;
        display: none !important;
    }

    body.single-ys_product .ys-product-title {
        margin: 0 0 17px;
        font-size: clamp(36px, 5.8vw, 50px);
        line-height: 1.04;
    }

    body.single-ys_product .ys-product-short-description {
        margin: 0 0 21px;
        font-size: 14px;
        line-height: 1.54;
    }

    body.single-ys_product .ys-product-hero .ys-product-button {
        display: flex;
        width: max-content;
        min-width: 190px;

        margin-left: auto;
        margin-right: auto;

        justify-content: center;
        gap: 0;
    }

    body.single-ys_product .ys-product-hero .ys-product-button::after {
        content: none !important;
        display: none !important;
    }

    body.single-ys_product .ys-product-hero-image {
        position: absolute;
        z-index: 4;

        right: -6%;
        bottom: 52px;

        width: 66%;
        aspect-ratio: 1 / 1;

        pointer-events: none;
    }

    body.single-ys_product .ys-hero-photo-mount {
        position: relative;
        width: 100%;
        height: 100%;
        filter: drop-shadow(0 10px 17px rgba(70, 47, 24, .10));
    }

    body.single-ys_product .ys-hero-photo-frame {
        position: absolute;
        z-index: 3;
        inset: 0;

        display: block;
        width: 100%;
        height: 100%;
        max-width: none;
        object-fit: contain;

        pointer-events: none;
    }

    body.single-ys_product .ys-hero-photo-window {
        position: absolute;
        z-index: 2;

        top: 50%;
        left: 50%;
        width: 69%;
        aspect-ratio: 1 / 1;

        overflow: hidden;
        transform: translate(-50%, -50%);
        background: #d9b77a;
    }

    body.single-ys_product .ys-main-product-image {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
        background: #d9b77a;
        border: 0;
        box-shadow: none;
        filter: none;
    }

    body.single-ys_product .ys-product-hero::before,
    body.single-ys_product .ys-product-hero::after {
        content: none !important;
        display: none !important;
    }

    body.single-ys_product .ys-tourism-paper {
        margin-top: -1px !important;
        border-top: 0 !important;
    }

    body.single-ys_product .ys-tourism-paper .ys-overview-suite {
        padding-top: 22px !important;
    }
}


/* ---------------------------------------------------------
   05. MOBILE
   --------------------------------------------------------- */
@media (max-width: 640px) {

    body.single-ys_product .ys-product-hero {
        position: relative;
        isolation: isolate;

        width: 100%;
        min-height: 860px;

        margin: 0;
        padding: 0;
        overflow: hidden;

        background-color: #fbf5e9;
        background-image: var(--ys-hero-background);
        background-repeat: no-repeat;
        background-position: 36% top;
        background-size: auto 100%;

        border: 0;
    }

    body.single-ys_product .ys-product-hero-grid {
        position: relative;
        width: 100%;
        height: 860px;
        margin: 0;
        padding: 0;
    }

    body.single-ys_product .ys-product-hero-content {
        position: relative;
        z-index: 5;

        width: calc(100% - 40px);
        max-width: 520px;

        margin: 0 auto;
        padding: 46px 0 0;

        text-align: left;
        background: transparent;
    }

    body.single-ys_product .ys-product-hero-content::before,
    body.single-ys_product .ys-product-hero-content::after {
        content: none !important;
        display: none !important;
    }

    body.single-ys_product .ys-product-eyebrow {
        margin-bottom: 12px;
        font-size: 11px;
        letter-spacing: .08em;
    }

    body.single-ys_product .ys-product-title {
        margin: 0 0 15px;
        font-size: clamp(34px, 10vw, 46px);
        line-height: 1.04;
    }

    body.single-ys_product .ys-product-short-description {
        width: 100%;
        max-width: 100%;
        margin: 0 0 18px;
        font-size: 13.5px;
        line-height: 1.52;
    }

    body.single-ys_product .ys-product-hero .ys-product-button {
        display: flex;
        width: max-content;
        min-width: 178px;
        min-height: 48px;

        margin-left: auto;
        margin-right: auto;
    }
}

/* =========================================================
   PHASE 10 — CONFIRMED POLYRESIN TEMPLATE
   Final scoped layer for the approved page structure.
   Keeps the existing travel-paper visual system, CTA, FAQ,
   Buying Guide, contact form and footer treatment intact.
   ========================================================= */

html {
    scroll-behavior: smooth;
    scroll-padding-top: 118px;
}

body.single-ys_product .ys-product-page,
body.single-ys_product .ys-tourism-paper,
body.single-ys_product .ys-tourism-section,
body.single-ys_product .ys-product-cta,
body.single-ys_product .ys-product-inquiry-section {
    background-color: #f4e2bf !important;
}

/* Keep the sticky section navigation attached to the viewport. */
body.single-ys_product #primary.ys-product-page {
    overflow: visible !important;
}

body.single-ys_product .ys-product-page {
    font-family: inherit !important;
}

body.single-ys_product .ys-product-page h1,
body.single-ys_product .ys-product-page h2,
body.single-ys_product .ys-product-page h3,
body.single-ys_product .ys-product-page p,
body.single-ys_product .ys-product-page li,
body.single-ys_product .ys-product-page th,
body.single-ys_product .ys-product-page td,
body.single-ys_product .ys-product-page a,
body.single-ys_product .ys-product-page input,
body.single-ys_product .ys-product-page textarea,
body.single-ys_product .ys-product-page button {
    font-family: inherit !important;
}

body.single-ys_product .ys-product-hero {
    background-color: #d4a05a !important;
}

body.single-ys_product .ys-product-hero-image,
body.single-ys_product .ys-hero-photo-mount,
body.single-ys_product .ys-hero-photo-window,
body.single-ys_product .ys-main-product-image {
    aspect-ratio: 1 / 1 !important;
}

body.single-ys_product .ys-main-product-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

body.single-ys_product .ys-v10-quick-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

body.single-ys_product .ys-v10-quick-facts li {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    color: var(--ys-navy);
    font-size: 13px;
    line-height: 1.35;
}

body.single-ys_product .ys-v10-quick-facts strong {
    color: var(--ys-gold-dark);
    font-size: 11px;
    letter-spacing: .07em;
    text-transform: uppercase;
}

body.single-ys_product .ys-v10-anchor-nav {
    position: sticky;
    top: 0;
    z-index: 80;
    width: min(1040px, calc(100% - 40px));
    margin: 20px auto 0;
    padding: 8px;
    border: 1px solid rgba(165, 123, 69, .22);
    border-radius: 999px;
    background: rgba(251, 244, 230, .96);
    box-shadow: 0 8px 24px rgba(72, 49, 22, .13);
    backdrop-filter: blur(10px);
}

body.admin-bar.single-ys_product .ys-v10-anchor-nav {
    top: 32px;
}

body.single-ys_product .ys-v10-anchor-nav ul {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.single-ys_product .ys-v10-anchor-nav a {
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border-radius: 999px;
    color: var(--ys-navy);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
}

body.single-ys_product .ys-v10-anchor-nav a:hover,
body.single-ys_product .ys-v10-anchor-nav a:focus-visible,
body.single-ys_product .ys-v10-anchor-nav a[aria-current="true"] {
    color: #fff;
    background: linear-gradient(180deg, #d39a25 0%, #b97808 100%);
    outline: none;
}

body.single-ys_product #overview,
body.single-ys_product #details,
body.single-ys_product #how-to-order,
body.single-ys_product #gallery,
body.single-ys_product #faq,
body.single-ys_product #ys-product-inquiry {
    scroll-margin-top: 118px;
}

body.admin-bar.single-ys_product #overview,
body.admin-bar.single-ys_product #details,
body.admin-bar.single-ys_product #how-to-order,
body.admin-bar.single-ys_product #gallery,
body.admin-bar.single-ys_product #faq,
body.admin-bar.single-ys_product #ys-product-inquiry {
    scroll-margin-top: 154px;
}

body.single-ys_product .ys-v10-overview,
body.single-ys_product .ys-v10-details,
body.single-ys_product .ys-v10-order,
body.single-ys_product #gallery,
body.single-ys_product #faq {
    padding-top: 76px !important;
    padding-bottom: 76px !important;
}

body.single-ys_product .ys-v10-section-heading {
    max-width: 930px;
    margin: 0 auto 34px;
    padding: 0;
    text-align: center;
}

body.single-ys_product .ys-v10-section-heading::before,
body.single-ys_product .ys-v10-section-heading::after,
body.single-ys_product .ys-v10-section-heading h2::before,
body.single-ys_product .ys-v10-section-heading h2::after {
    display: none !important;
    content: none !important;
}

body.single-ys_product .ys-v10-section-heading h2 {
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: var(--ys-navy) !important;
    font-size: clamp(30px, 3.2vw, 46px) !important;
    line-height: 1.08 !important;
}

body.single-ys_product .ys-v10-section-heading > p,
body.single-ys_product .ys-v10-answer-copy {
    color: var(--ys-text);
    font-size: 15px;
    line-height: 1.65;
}

body.single-ys_product .ys-v10-answer-copy {
    display: grid;
    gap: 3px;
}

body.single-ys_product .ys-v10-answer-copy p {
    margin: 0;
}

body.single-ys_product .ys-v10-answer-copy strong {
    color: var(--ys-navy);
}

body.single-ys_product .ys-v10-overview {
    position: relative;
    overflow: hidden;
    padding-bottom: 22px !important;
}

body.single-ys_product .ys-v10-overview-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid rgba(165, 123, 69, .22);
    border-radius: 14px;
    background: rgba(255, 250, 240, .74);
    box-shadow: 0 14px 32px rgba(66, 46, 22, .08);
}

body.single-ys_product .ys-v10-overview-card {
    min-height: 250px;
    padding: 28px 24px 24px;
    text-align: center;
}

body.single-ys_product .ys-v10-overview-card + .ys-v10-overview-card {
    border-left: 1px solid rgba(165, 123, 69, .18);
}

body.single-ys_product .ys-v10-round-icon,
body.single-ys_product .ys-v10-side-icon,
body.single-ys_product .ys-v10-nda-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(180deg, #daa02a 0%, #b97507 100%);
    box-shadow: 0 6px 14px rgba(169, 104, 0, .18);
}

body.single-ys_product .ys-v10-round-icon {
    width: 58px;
    height: 58px;
    margin-bottom: 16px;
    border-radius: 50%;
}

body.single-ys_product .ys-v10-round-icon svg,
body.single-ys_product .ys-v10-side-icon svg,
body.single-ys_product .ys-v10-nda-icon svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.single-ys_product .ys-v10-overview-card h3 {
    margin: 0 0 12px;
    color: var(--ys-navy);
    font-size: 18px;
    line-height: 1.25;
}

body.single-ys_product .ys-v10-overview-card p {
    margin: 0;
    color: var(--ys-text);
    font-size: 14px;
    line-height: 1.65;
}

body.single-ys_product .ys-v10-cityline {
    width: 100%;
    height: 76px;
    margin: 18px auto 0;
    color: rgba(164, 111, 31, .46);
}

body.single-ys_product .ys-v10-cityline svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.2;
    vector-effect: non-scaling-stroke;
}

body.single-ys_product .ys-v10-details-layout {
    display: grid;
    grid-template-columns: minmax(150px, .72fr) minmax(560px, 2.8fr) minmax(150px, .72fr);
    gap: 26px;
    align-items: center;
}

body.single-ys_product .ys-v10-side-card {
    padding: 28px 18px;
    border: 1px solid rgba(165, 123, 69, .24);
    border-radius: 70px 70px 20px 20px;
    background: rgba(255, 250, 240, .72);
    text-align: center;
    box-shadow: 0 10px 26px rgba(66, 46, 22, .07);
}

body.single-ys_product .ys-v10-side-icon {
    width: 54px;
    height: 54px;
    margin-bottom: 14px;
    border-radius: 50%;
}

body.single-ys_product .ys-v10-side-card h3 {
    margin: 0 0 8px;
    color: var(--ys-navy);
    font-size: 16px;
}

body.single-ys_product .ys-v10-side-card p {
    margin: 0;
    color: var(--ys-text);
    font-size: 13px;
    line-height: 1.55;
}

body.single-ys_product .ys-v10-spec-table-wrap {
    overflow: hidden;
    border: 1px solid rgba(165, 123, 69, .22);
    border-radius: 14px;
    background: rgba(255, 250, 240, .80);
    box-shadow: 0 14px 32px rgba(66, 46, 22, .09);
}

body.single-ys_product .ys-v10-spec-table {
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    table-layout: fixed;
    background: transparent;
}

body.single-ys_product .ys-v10-spec-table th,
body.single-ys_product .ys-v10-spec-table td {
    padding: 12px 18px;
    border: 0;
    border-bottom: 1px solid rgba(165, 123, 69, .18);
    color: var(--ys-text);
    font-size: 14px;
    line-height: 1.45;
    text-align: left;
    vertical-align: top;
}

body.single-ys_product .ys-v10-spec-table th {
    width: 34%;
    color: var(--ys-navy);
    font-weight: 700;
    background: rgba(213, 158, 55, .08);
}

body.single-ys_product .ys-v10-spec-table tr:last-child th,
body.single-ys_product .ys-v10-spec-table tr:last-child td {
    border-bottom: 0;
}

body.single-ys_product .ys-v10-order-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px 30px;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: none;
}

body.single-ys_product .ys-v10-order-step {
    position: relative;
    display: grid;
    grid-template-columns: 68px 1fr;
    gap: 18px;
    min-height: 164px;
    align-items: center;
    overflow: visible;
    padding: 22px 28px 22px 18px;
    border: 1px solid rgba(165, 123, 69, .28);
    clip-path: polygon(10px 0, calc(100% - 10px) 0, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0 calc(100% - 10px), 0 10px);
    background: rgba(255, 250, 240, .78);
    box-shadow: 0 10px 24px rgba(66, 46, 22, .08);
}

body.single-ys_product .ys-v10-order-step::before {
    position: absolute;
    right: 8px;
    bottom: 4px;
    width: 92px;
    height: 82px;
    content: "";
    opacity: .10;
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
    pointer-events: none;
}

body.single-ys_product .ys-v10-order-step:nth-child(1)::before { background-image: var(--ys-decor-passport); }
body.single-ys_product .ys-v10-order-step:nth-child(2)::before { background-image: var(--ys-decor-route); }
body.single-ys_product .ys-v10-order-step:nth-child(3)::before { background-image: var(--ys-decor-handcrafted); }
body.single-ys_product .ys-v10-order-step:nth-child(4)::before { background-image: var(--ys-decor-approved); }
body.single-ys_product .ys-v10-order-step:nth-child(5)::before { background-image: var(--ys-decor-carton); }
body.single-ys_product .ys-v10-order-step:nth-child(6)::before { background-image: var(--ys-decor-airplane); }

body.single-ys_product .ys-v10-order-step::after {
    position: absolute;
    top: 50%;
    right: -25px;
    z-index: 2;
    width: 20px;
    height: 20px;
    content: "→";
    color: var(--ys-gold-dark);
    font-size: 20px;
    line-height: 20px;
    text-align: center;
    transform: translateY(-50%);
}

body.single-ys_product .ys-v10-order-step:nth-child(3)::after,
body.single-ys_product .ys-v10-order-step:nth-child(6)::after {
    display: none;
}

body.single-ys_product .ys-v10-step-number {
    display: flex;
    min-height: 112px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 4px;
    background: linear-gradient(180deg, #d9a13a 0%, #b87306 100%);
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
}

body.single-ys_product .ys-v10-step-number small {
    margin-bottom: 6px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

body.single-ys_product .ys-v10-order-step h3 {
    margin: 0 0 8px;
    color: var(--ys-navy);
    font-size: 18px;
}

body.single-ys_product .ys-v10-order-step p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--ys-text);
    font-size: 13px;
    line-height: 1.55;
}

body.single-ys_product .ys-v10-time {
    display: inline-block;
    position: relative;
    z-index: 1;
    margin-top: 8px;
    color: var(--ys-gold-dark);
    font-size: 11px;
    font-weight: 700;
}

body.single-ys_product .ys-v10-nda {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) minmax(170px, 310px);
    gap: 22px;
    min-height: 106px;
    align-items: center;
    margin-top: 34px;
    padding: 18px 24px;
    overflow: hidden;
    border: 1px solid rgba(165, 123, 69, .28);
    border-radius: 12px;
    background: rgba(255, 250, 240, .76);
    box-shadow: 0 10px 24px rgba(66, 46, 22, .07);
}

body.single-ys_product .ys-v10-nda-icon {
    width: 58px;
    height: 58px;
    border-radius: 16px;
}

body.single-ys_product .ys-v10-nda-copy {
    position: relative;
    z-index: 2;
}

body.single-ys_product .ys-v10-nda-copy h3 {
    margin: 0 0 5px;
    color: var(--ys-navy);
    font-size: 18px;
}

body.single-ys_product .ys-v10-nda-copy p {
    margin: 0;
    color: var(--ys-text);
    font-size: 13px;
    line-height: 1.55;
}

body.single-ys_product .ys-v10-nda-art {
    width: 100%;
    max-height: 92px;
    object-fit: contain;
    object-position: right center;
    opacity: .62;
}

body.single-ys_product #gallery .ys-v10-section-heading {
    margin-bottom: 28px;
}

body.single-ys_product #gallery .ys-v10-section-heading::before,
body.single-ys_product #gallery .ys-v10-section-heading::after {
    display: none !important;
    content: none !important;
}

body.single-ys_product #gallery .ys-product-gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

body.single-ys_product #gallery .ys-product-gallery-frame {
    aspect-ratio: 4 / 3;
}

body.single-ys_product #gallery .ys-product-gallery-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

body.single-ys_product #faq .ys-faq-card > h2,
body.single-ys_product #faq .ys-buying-guide-card > h2 {
    color: var(--ys-navy);
}

@media (min-width: 1025px) {
    body.single-ys_product .ys-product-hero-grid {
        align-items: start !important;
    }

    body.single-ys_product .ys-product-hero-image {
        width: min(520px, 43vw) !important;
        max-width: 520px !important;
        margin-top: -14px !important;
        transform: none !important;
    }
}

@media (max-width: 1024px) {
    body.single-ys_product .ys-v10-anchor-nav {
        width: calc(100% - 28px);
    }

    body.single-ys_product .ys-v10-overview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.single-ys_product .ys-v10-overview-card:nth-child(3) {
        border-left: 0;
        border-top: 1px solid rgba(165, 123, 69, .18);
    }

    body.single-ys_product .ys-v10-overview-card:nth-child(4) {
        border-top: 1px solid rgba(165, 123, 69, .18);
    }

    body.single-ys_product .ys-v10-details-layout {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
    }

    body.single-ys_product .ys-v10-spec-table-wrap {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    body.single-ys_product .ys-v10-side-card {
        border-radius: 22px;
    }

    body.single-ys_product .ys-v10-order-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.single-ys_product .ys-v10-order-step::after {
        display: none;
    }
}

@media (max-width: 782px) {
    body.admin-bar.single-ys_product .ys-v10-anchor-nav {
        top: 46px;
    }
}

@media (max-width: 767px) {
    html {
        scroll-padding-top: 108px;
    }

    body.single-ys_product .ys-product-hero-image,
    body.single-ys_product .ys-hero-photo-mount,
    body.single-ys_product .ys-hero-photo-window {
        width: 100% !important;
        max-width: 460px !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    body.single-ys_product .ys-v10-quick-facts {
        gap: 8px 14px;
    }

    body.single-ys_product .ys-v10-anchor-nav {
        width: calc(100% - 20px);
        margin-top: 14px;
        overflow-x: auto;
        border-radius: 18px;
        scrollbar-width: none;
    }

    body.single-ys_product .ys-v10-anchor-nav::-webkit-scrollbar {
        display: none;
    }

    body.single-ys_product .ys-v10-anchor-nav ul {
        display: flex;
        width: max-content;
        min-width: 100%;
    }

    body.single-ys_product .ys-v10-anchor-nav a {
        min-height: 40px;
        padding: 8px 14px;
    }

    body.single-ys_product .ys-v10-overview,
    body.single-ys_product .ys-v10-details,
    body.single-ys_product .ys-v10-order,
    body.single-ys_product #gallery,
    body.single-ys_product #faq {
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    body.single-ys_product .ys-v10-section-heading {
        margin-bottom: 26px;
    }

    body.single-ys_product .ys-v10-overview-grid,
    body.single-ys_product .ys-v10-details-layout,
    body.single-ys_product .ys-v10-order-grid,
    body.single-ys_product #gallery .ys-product-gallery {
        grid-template-columns: 1fr !important;
    }

    body.single-ys_product .ys-v10-overview-card {
        min-height: 0;
        padding: 24px 22px;
    }

    body.single-ys_product .ys-v10-overview-card + .ys-v10-overview-card {
        border-top: 1px solid rgba(165, 123, 69, .18);
        border-left: 0;
    }

    body.single-ys_product .ys-v10-cityline {
        height: 54px;
    }

    body.single-ys_product .ys-v10-spec-table th,
    body.single-ys_product .ys-v10-spec-table td {
        padding: 11px 12px;
        font-size: 13px;
    }

    body.single-ys_product .ys-v10-spec-table th {
        width: 38%;
    }

    body.single-ys_product .ys-v10-order-step {
        min-height: 150px;
        grid-template-columns: 62px 1fr;
        gap: 15px;
        padding: 18px;
    }

    body.single-ys_product .ys-v10-order-step::after {
        display: block;
        top: auto;
        right: 50%;
        bottom: -23px;
        content: "↓";
        transform: translateX(50%);
    }

    body.single-ys_product .ys-v10-order-step:last-child::after {
        display: none;
    }

    body.single-ys_product .ys-v10-nda {
        grid-template-columns: 52px 1fr;
        gap: 16px;
        padding: 18px;
    }

    body.single-ys_product .ys-v10-nda-icon {
        width: 50px;
        height: 50px;
    }

    body.single-ys_product .ys-v10-nda-art {
        grid-column: 1 / -1;
        width: min(290px, 100%);
        max-height: 76px;
        margin: -8px 0 -8px auto;
    }
}

@media (max-width: 420px) {
    body.single-ys_product .ys-v10-quick-facts {
        display: grid;
        grid-template-columns: 1fr;
    }

    body.single-ys_product .ys-v10-spec-table th,
    body.single-ys_product .ys-v10-spec-table td {
        display: block;
        width: 100%;
    }

    body.single-ys_product .ys-v10-spec-table th {
        padding-bottom: 4px;
        border-bottom: 0;
    }

    body.single-ys_product .ys-v10-spec-table td {
        padding-top: 4px;
    }
}

/* =========================================================
   PHASE 16 - FINAL DECORATION AND RHYTHM CALIBRATION
   ========================================================= */

/* Use one shared vertical rhythm from the anchor navigation to Contact. */
html body.single-ys_product .ys-tourism-paper > #overview,
html body.single-ys_product .ys-tourism-paper > #details,
html body.single-ys_product .ys-tourism-paper > #how-to-order,
html body.single-ys_product .ys-tourism-paper > #gallery,
html body.single-ys_product .ys-tourism-paper > #faq,
html body.single-ys_product .ys-tourism-paper > .ys-product-cta,
html body.single-ys_product .ys-tourism-paper > #ys-product-inquiry {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}

/* Contact-to-Footer equals CTA-to-Contact: 60px + 60px. */
html body.single-ys_product .ys-tourism-paper > #ys-product-inquiry {
    padding-bottom: 120px !important;
}

/* How to Order: remove the left aircraft and enlarge only the right stamp. */
html body.single-ys_product #how-to-order::before {
    display: none !important;
    content: none !important;
    background-image: none !important;
}

@media (min-width: 1025px) {
    html body.single-ys_product #how-to-order::after {
        display: block !important;
        top: 20px !important;
        right: max(22px, calc(50% - 610px)) !important;
        width: 188px !important;
        height: 150px !important;
        opacity: .66 !important;
        background-image: var(--ys-decor-handcrafted) !important;
        background-size: contain !important;
    }

    /* A bold greater-than sign sits at the exact centre of every desktop gap. */
    html body.single-ys_product .ys-v10-order-step::after {
        display: grid !important;
        top: 50% !important;
        right: -34px !important;
        bottom: auto !important;
        width: 38px !important;
        height: 38px !important;
        place-items: center !important;
        content: "\003E" !important;
        color: #a96800 !important;
        border: 3px solid rgba(190, 126, 13, .90) !important;
        border-radius: 50% !important;
        background: #fff8ea !important;
        box-shadow: 0 5px 12px rgba(115, 70, 8, .18) !important;
        font-family: Arial, sans-serif !important;
        font-size: 29px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        text-indent: 1px !important;
        transform: translateY(-50%) !important;
        box-sizing: border-box !important;
    }

    html body.single-ys_product .ys-v10-order-step:nth-child(3)::after,
    html body.single-ys_product .ys-v10-order-step:nth-child(6)::after {
        display: none !important;
    }
}

/* Keep mobile sequencing readable in the one-column layout. */
@media (max-width: 767px) {
    html body.single-ys_product #how-to-order::after {
        display: none !important;
    }

    html body.single-ys_product .ys-v10-order-step::after {
        content: "\2193" !important;
        font-weight: 800 !important;
    }
}

/* Gallery aircraft keeps its size; only its centre moves into the upper blank area. */
html body.single-ys_product #gallery.ys-product-gallery-section {
    overflow: hidden !important;
}

html body.single-ys_product #gallery.ys-product-gallery-section::before {
    top: -130px !important;
    left: -14px !important;
    width: 340px !important;
    height: 340px !important;
    background-position: center bottom !important;
}

/* Remove the stray route line below the FAQ card. */
html body.single-ys_product #faq.ys-resource-section::before {
    display: none !important;
    content: none !important;
    background-image: none !important;
}

/* Centre the Contact postmark in its dedicated lower blank area. */
html body.single-ys_product .ys-product-contact-card {
    padding-bottom: 200px !important;
}

html body.single-ys_product .ys-product-contact-card .ys-contact-round-stamp {
    right: auto !important;
    bottom: 24px !important;
    left: 50% !important;
    width: 220px !important;
    height: 138px !important;
    transform: translateX(-50%) rotate(-7deg) !important;
    transform-origin: center !important;
}

@media (max-width: 1024px) and (min-width: 601px) {
    html body.single-ys_product #gallery.ys-product-gallery-section::before {
        top: -92px !important;
        left: -18px !important;
        width: 230px !important;
        height: 230px !important;
    }

    html body.single-ys_product .ys-product-contact-card {
        padding-bottom: 178px !important;
    }

    html body.single-ys_product .ys-product-contact-card .ys-contact-round-stamp {
        bottom: 20px !important;
        width: 205px !important;
        height: 128px !important;
    }
}

@media (max-width: 600px) {
    html body.single-ys_product .ys-tourism-paper > #overview,
    html body.single-ys_product .ys-tourism-paper > #details,
    html body.single-ys_product .ys-tourism-paper > #how-to-order,
    html body.single-ys_product .ys-tourism-paper > #gallery,
    html body.single-ys_product .ys-tourism-paper > #faq,
    html body.single-ys_product .ys-tourism-paper > .ys-product-cta,
    html body.single-ys_product .ys-tourism-paper > #ys-product-inquiry {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }

    html body.single-ys_product .ys-tourism-paper > #ys-product-inquiry {
        padding-bottom: 88px !important;
    }

    html body.single-ys_product .ys-product-contact-card {
        padding-bottom: 150px !important;
    }

    html body.single-ys_product .ys-product-contact-card .ys-contact-round-stamp {
        right: auto !important;
        bottom: 16px !important;
        left: 50% !important;
        width: 170.001px !important;
        height: 106px !important;
        transform: translateX(-50%) rotate(-7deg) !important;
    }
}

/* Final cascade lock for the four approved review corrections. */
html body.single-ys_product #primary.ys-product-page .ys-hero-photo-window {
    width: 92% !important;
    height: 92% !important;
}

@media (min-width: 1025px) {
    html body.single-ys_product #primary.ys-product-page .ys-v10-cityline {
        margin-top: -12px !important;
        margin-bottom: 4px !important;
    }

    html body.single-ys_product #primary.ys-product-page #gallery.ys-product-gallery-section::before {
        display: block !important;
        top: 180px !important;
        left: -108px !important;
        width: 272px !important;
        height: 272px !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-product-contact-card {
        padding-bottom: 135px !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-product-contact-card .ys-contact-round-stamp {
        right: auto !important;
        bottom: 24px !important;
        left: 50% !important;
        width: 130px !important;
        height: 82px !important;
        transform: translateX(-50%) rotate(-7deg) !important;
    }
}

@media (max-width: 1024px) {
    html body.single-ys_product #primary.ys-product-page #gallery.ys-product-gallery-section::before {
        display: none !important;
    }
}

@media (max-width: 600px) {
    html body.single-ys_product #primary.ys-product-page .ys-hero-photo-window {
        width: 90% !important;
        height: 90% !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-v10-cityline {
        margin-top: -34px !important;
        margin-bottom: 38px !important;
    }
}

/* Mobile QA: keep a clear gap between the closing sentence and postmark. */
@media (max-width: 600px) {
    html body.single-ys_product .ys-product-contact-card {
        padding-bottom: 150px !important;
    }
}

/* =========================================================
   PHASE 14 - HERO POSTAGE-STAMP PHOTO FRAME
   Keep the approved square photo and position; replace only
   the straight paper overlay with a true perforated edge.
   ========================================================= */
html body.single-ys_product .ys-hero-photo-mount {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    overflow: visible !important;
    background:
        linear-gradient(145deg, rgba(255, 250, 237, .45), rgba(216, 174, 107, .18)),
        #f3ddb5 !important;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%20100%20100%27%20preserveAspectRatio=%27none%27%3E%3Cpath%20fill=%27white%27%20d=%27M5%200%20Q7.5%203%2010%200%20Q12.5%203%2015%200%20Q17.5%203%2020%200%20Q22.5%203%2025%200%20Q27.5%203%2030%200%20Q32.5%203%2035%200%20Q37.5%203%2040%200%20Q42.5%203%2045%200%20Q47.5%203%2050%200%20Q52.5%203%2055%200%20Q57.5%203%2060%200%20Q62.5%203%2065%200%20Q67.5%203%2070%200%20Q72.5%203%2075%200%20Q77.5%203%2080%200%20Q82.5%203%2085%200%20Q87.5%203%2090%200%20Q92.5%203%2095%200%20L100%205%20Q97%207.5%20100%2010%20Q97%2012.5%20100%2015%20Q97%2017.5%20100%2020%20Q97%2022.5%20100%2025%20Q97%2027.5%20100%2030%20Q97%2032.5%20100%2035%20Q97%2037.5%20100%2040%20Q97%2042.5%20100%2045%20Q97%2047.5%20100%2050%20Q97%2052.5%20100%2055%20Q97%2057.5%20100%2060%20Q97%2062.5%20100%2065%20Q97%2067.5%20100%2070%20Q97%2072.5%20100%2075%20Q97%2077.5%20100%2080%20Q97%2082.5%20100%2085%20Q97%2087.5%20100%2090%20Q97%2092.5%20100%2095%20L95%20100%20Q92.5%2097%2090%20100%20Q87.5%2097%2085%20100%20Q82.5%2097%2080%20100%20Q77.5%2097%2075%20100%20Q72.5%2097%2070%20100%20Q67.5%2097%2065%20100%20Q62.5%2097%2060%20100%20Q57.5%2097%2055%20100%20Q52.5%2097%2050%20100%20Q47.5%2097%2045%20100%20Q42.5%2097%2040%20100%20Q37.5%2097%2035%20100%20Q32.5%2097%2030%20100%20Q27.5%2097%2025%20100%20Q22.5%2097%2020%20100%20Q17.5%2097%2015%20100%20Q12.5%2097%2010%20100%20Q7.5%2097%205%20100%20L0%2095%20Q3%2092.5%200%2090%20Q3%2087.5%200%2085%20Q3%2082.5%200%2080%20Q3%2077.5%200%2075%20Q3%2072.5%200%2070%20Q3%2067.5%200%2065%20Q3%2062.5%200%2060%20Q3%2057.5%200%2055%20Q3%2052.5%200%2050%20Q3%2047.5%200%2045%20Q3%2042.5%200%2040%20Q3%2037.5%200%2035%20Q3%2032.5%200%2030%20Q3%2027.5%200%2025%20Q3%2022.5%200%2020%20Q3%2017.5%200%2015%20Q3%2012.5%200%2010%20Q3%207.5%200%205%20L5%200%20Z%27/%3E%3C/svg%3E") !important;
    -webkit-mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    -webkit-mask-size: 100% 100% !important;
    mask-image: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%20100%20100%27%20preserveAspectRatio=%27none%27%3E%3Cpath%20fill=%27white%27%20d=%27M5%200%20Q7.5%203%2010%200%20Q12.5%203%2015%200%20Q17.5%203%2020%200%20Q22.5%203%2025%200%20Q27.5%203%2030%200%20Q32.5%203%2035%200%20Q37.5%203%2040%200%20Q42.5%203%2045%200%20Q47.5%203%2050%200%20Q52.5%203%2055%200%20Q57.5%203%2060%200%20Q62.5%203%2065%200%20Q67.5%203%2070%200%20Q72.5%203%2075%200%20Q77.5%203%2080%200%20Q82.5%203%2085%200%20Q87.5%203%2090%200%20Q92.5%203%2095%200%20L100%205%20Q97%207.5%20100%2010%20Q97%2012.5%20100%2015%20Q97%2017.5%20100%2020%20Q97%2022.5%20100%2025%20Q97%2027.5%20100%2030%20Q97%2032.5%20100%2035%20Q97%2037.5%20100%2040%20Q97%2042.5%20100%2045%20Q97%2047.5%20100%2050%20Q97%2052.5%20100%2055%20Q97%2057.5%20100%2060%20Q97%2062.5%20100%2065%20Q97%2067.5%20100%2070%20Q97%2072.5%20100%2075%20Q97%2077.5%20100%2080%20Q97%2082.5%20100%2085%20Q97%2087.5%20100%2090%20Q97%2092.5%20100%2095%20L95%20100%20Q92.5%2097%2090%20100%20Q87.5%2097%2085%20100%20Q82.5%2097%2080%20100%20Q77.5%2097%2075%20100%20Q72.5%2097%2070%20100%20Q67.5%2097%2065%20100%20Q62.5%2097%2060%20100%20Q57.5%2097%2055%20100%20Q52.5%2097%2050%20100%20Q47.5%2097%2045%20100%20Q42.5%2097%2040%20100%20Q37.5%2097%2035%20100%20Q32.5%2097%2030%20100%20Q27.5%2097%2025%20100%20Q22.5%2097%2020%20100%20Q17.5%2097%2015%20100%20Q12.5%2097%2010%20100%20Q7.5%2097%205%20100%20L0%2095%20Q3%2092.5%200%2090%20Q3%2087.5%200%2085%20Q3%2082.5%200%2080%20Q3%2077.5%200%2075%20Q3%2072.5%200%2070%20Q3%2067.5%200%2065%20Q3%2062.5%200%2060%20Q3%2057.5%200%2055%20Q3%2052.5%200%2050%20Q3%2047.5%200%2045%20Q3%2042.5%200%2040%20Q3%2037.5%200%2035%20Q3%2032.5%200%2030%20Q3%2027.5%200%2025%20Q3%2022.5%200%2020%20Q3%2017.5%200%2015%20Q3%2012.5%200%2010%20Q3%207.5%200%205%20L5%200%20Z%27/%3E%3C/svg%3E") !important;
    mask-repeat: no-repeat !important;
    mask-position: center !important;
    mask-size: 100% 100% !important;
    filter: drop-shadow(0 13px 19px rgba(70, 47, 24, .17)) !important;
}

/* The obsolete straight-edge overlay must not cover the postage shape. */
html body.single-ys_product .ys-hero-photo-frame {
    display: none !important;
}

/* Christmas workflow cards: transparent illustrated accents only. */
html body.single-ys_product .ys-christmas-order-art { display: none; }
html body.single-ys_product #primary.ys-christmas-theme .ys-v10-order-ticket {
    padding: 24px 138px 116px 26px !important;
}
html body.single-ys_product #primary.ys-christmas-theme .ys-v10-order-ticket::after { display: none !important; content: none !important; }
html body.single-ys_product #primary.ys-christmas-theme .ys-v10-order-ticket::before {
    display: block !important;
    position: absolute !important;
    right: 16px !important;
    bottom: 12px !important;
    top: auto !important;
    width: 116px !important;
    height: 116px !important;
    transform: none !important;
    content: "" !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    background-size: contain !important;
    background-position: right bottom !important;
    background-repeat: no-repeat !important;
    box-shadow: none !important;
}
html body.single-ys_product #primary.ys-christmas-theme .ys-v10-order-step:nth-child(1) .ys-v10-order-ticket::before { background-image: url("https://yiwu-superstar.com/wp-content/plugins/ys-christmas-product-template/assets/christmas/order/christmas-cartoon-order-01.webp") !important; }
html body.single-ys_product #primary.ys-christmas-theme .ys-v10-order-step:nth-child(2) .ys-v10-order-ticket::before { background-image: url("https://yiwu-superstar.com/wp-content/plugins/ys-christmas-product-template/assets/christmas/order/christmas-cartoon-order-02.webp") !important; }
html body.single-ys_product #primary.ys-christmas-theme .ys-v10-order-step:nth-child(3) .ys-v10-order-ticket::before { background-image: url("https://yiwu-superstar.com/wp-content/plugins/ys-christmas-product-template/assets/christmas/order/christmas-cartoon-order-03.webp") !important; }
html body.single-ys_product #primary.ys-christmas-theme .ys-v10-order-step:nth-child(4) .ys-v10-order-ticket::before { background-image: url("https://yiwu-superstar.com/wp-content/plugins/ys-christmas-product-template/assets/christmas/order/christmas-cartoon-order-04.webp") !important; }
html body.single-ys_product #primary.ys-christmas-theme .ys-v10-order-step:nth-child(5) .ys-v10-order-ticket::before { background-image: url("https://yiwu-superstar.com/wp-content/plugins/ys-christmas-product-template/assets/christmas/order/christmas-cartoon-order-05.webp") !important; }
html body.single-ys_product #primary.ys-christmas-theme .ys-v10-order-step:nth-child(6) .ys-v10-order-ticket::before { background-image: url("https://yiwu-superstar.com/wp-content/plugins/ys-christmas-product-template/assets/christmas/order/christmas-cartoon-order-06.webp") !important; }
html body.single-ys_product #primary.ys-christmas-theme .ys-christmas-order-art {
    display: block !important;
    position: absolute !important;
    right: 16px !important;
    bottom: 12px !important;
    top: auto !important;
    width: 116px !important;
    height: 116px !important;
    transform: none !important;
    object-fit: contain !important;
    object-position: right bottom !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
@media (max-width: 767px) {
    html body.single-ys_product #primary.ys-christmas-theme .ys-v10-order-ticket { padding: 20px 102px 90px 18px !important; }
    html body.single-ys_product #primary.ys-christmas-theme .ys-v10-order-ticket::before { right: 10px !important; bottom: 8px !important; width: 88px !important; height: 88px !important; }
}

html body.single-ys_product .ys-hero-photo-window {
    position: absolute !important;
    z-index: 2 !important;
    top: 50% !important;
    left: 50% !important;
    width: 86.5% !important;
    height: 86.5% !important;
    max-width: none !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    transform: translate(-50%, -50%) !important;
    border: 2px solid rgba(122, 80, 36, .58) !important;
    border-radius: 3px !important;
    background: #d9b77a !important;
    box-shadow:
        0 0 0 5px rgba(255, 248, 232, .48),
        0 3px 8px rgba(63, 43, 24, .15) !important;
    box-sizing: border-box !important;
}

html body.single-ys_product .ys-main-product-image {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center center !important;
}

/* Hero review: keep the photo flush with the inner opening while preserving
   the visible paper border and perforated postage edge. */
html body.single-ys_product #primary.ys-product-page .ys-hero-photo-window {
    width: 90% !important;
    height: 90% !important;
    border: 2px solid rgba(122, 80, 36, .58) !important;
    border-radius: 3px !important;
    background: #d9b77a !important;
    box-shadow:
        0 0 0 5px rgba(255, 248, 232, .48),
        0 3px 8px rgba(63, 43, 24, .15) !important;
}

html body.single-ys_product #primary.ys-product-page .ys-main-product-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
}

@media (min-width: 922px) {
    html body.single-ys_product #primary.ys-product-page .ys-product-hero .ys-product-hero-image {
        top: 50% !important;
        bottom: auto !important;
        margin-top: 0 !important;
        transform: translateY(-50%) !important;
    }
}

/* Anchor buttons: individual icon pills inside the approved sticky bar. */
html body.single-ys_product #primary.ys-product-page .ys-v10-anchor-nav a {
    gap: 8px !important;
    border: 1px solid rgba(24, 58, 86, .18) !important;
    background: rgba(255, 250, 240, .92) !important;
    box-shadow: 0 3px 10px rgba(65, 44, 20, .08) !important;
}

html body.single-ys_product #primary.ys-product-page .ys-v10-anchor-icon {
    display: inline-flex !important;
    width: 25px !important;
    height: 25px !important;
    flex: 0 0 25px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #315a78 !important;
    border: 1px solid rgba(49, 90, 120, .22) !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .72) !important;
}

html body.single-ys_product #primary.ys-product-page .ys-v10-anchor-icon svg {
    width: 17px !important;
    height: 17px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

html body.single-ys_product #primary.ys-product-page .ys-v10-anchor-nav a:hover,
html body.single-ys_product #primary.ys-product-page .ys-v10-anchor-nav a:focus-visible,
html body.single-ys_product #primary.ys-product-page .ys-v10-anchor-nav a[aria-current="true"] {
    color: #fff !important;
    border-color: rgba(175, 108, 5, .72) !important;
    background: linear-gradient(180deg, #d39a25 0%, #b97808 100%) !important;
    box-shadow: 0 5px 13px rgba(159, 95, 0, .20) !important;
}

html body.single-ys_product #primary.ys-product-page .ys-v10-anchor-nav a:hover .ys-v10-anchor-icon,
html body.single-ys_product #primary.ys-product-page .ys-v10-anchor-nav a:focus-visible .ys-v10-anchor-icon,
html body.single-ys_product #primary.ys-product-page .ys-v10-anchor-nav a[aria-current="true"] .ys-v10-anchor-icon {
    color: #fff !important;
    border-color: rgba(255, 255, 255, .58) !important;
    background: rgba(255, 255, 255, .14) !important;
}

/* Equal 60px visual gaps from the anchor navigation through FAQ. */
html body.single-ys_product #primary.ys-product-page .ys-tourism-paper > #overview {
    padding-top: 60px !important;
    padding-bottom: 30px !important;
}

html body.single-ys_product #primary.ys-product-page .ys-tourism-paper > #details,
html body.single-ys_product #primary.ys-product-page .ys-tourism-paper > #how-to-order,
html body.single-ys_product #primary.ys-product-page .ys-tourism-paper > #gallery {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

html body.single-ys_product #primary.ys-product-page .ys-tourism-paper > #faq {
    padding-top: 30px !important;
    padding-bottom: 20px !important;
}

/* FAQ, CTA, Contact and Footer use three equal 40px gaps. */
html body.single-ys_product #primary.ys-product-page .ys-tourism-paper > .ys-product-cta {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

html body.single-ys_product #primary.ys-product-page .ys-tourism-paper > #ys-product-inquiry {
    padding-top: 20px !important;
    padding-bottom: 40px !important;
}

/* Move the Gallery aircraft down/right so the complete sketch stays visible. */
html body.single-ys_product #primary.ys-product-page #gallery.ys-product-gallery-section::before {
    top: -22px !important;
    left: 28px !important;
    width: 272px !important;
    height: 272px !important;
}

@media (min-width: 1025px) {
    /* Larger circle and glyph; the slight bottom padding corrects the glyph baseline. */
    html body.single-ys_product #primary.ys-product-page .ys-v10-order-step::after {
        right: -38px !important;
        width: 46px !important;
        height: 46px !important;
        content: "\003E" !important;
        padding: 0 0 5px 1px !important;
        border-width: 3px !important;
        font-family: Arial, sans-serif !important;
        font-size: 38px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        text-indent: 0 !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 600px) {
    html body.single-ys_product #primary.ys-product-page .ys-v10-anchor-nav a {
        gap: 6px !important;
        padding-right: 11px !important;
        padding-left: 11px !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-v10-anchor-icon {
        width: 23px !important;
        height: 23px !important;
        flex-basis: 23px !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-tourism-paper > #overview {
        padding-top: 44px !important;
        padding-bottom: 22px !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-tourism-paper > #details,
    html body.single-ys_product #primary.ys-product-page .ys-tourism-paper > #how-to-order,
    html body.single-ys_product #primary.ys-product-page .ys-tourism-paper > #gallery {
        padding-top: 22px !important;
        padding-bottom: 22px !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-tourism-paper > #faq {
        padding-top: 22px !important;
        padding-bottom: 14px !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-tourism-paper > .ys-product-cta {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    html body.single-ys_product #primary.ys-product-page .ys-tourism-paper > #ys-product-inquiry {
        padding-top: 14px !important;
        padding-bottom: 28px !important;
    }
}

/* =========================================================
   PHASE 11 — USER REVIEW CORRECTIONS
   ========================================================= */

/* Keep every product-content section on the same warm paper tone. */
html body.single-ys_product #gallery.ys-product-gallery-section {
    background: #f4e2bf !important;
}

/* Preserve the approved square paper/stamp frame and lift it slightly. */
@media (min-width: 922px) {
    html body.single-ys_product .ys-product-hero-image {
        top: 0 !important;
        margin-top: -8px !important;
    }
}

/* The long project heading should remain a single desktop line. */
html body.single-ys_product #gallery .ys-v10-section-heading {
    max-width: 1180px;
}

html body.single-ys_product #gallery .ys-v10-section-heading h2 {
    font-size: clamp(30px, 2.65vw, 40px) !important;
}

/* Strengthen the approved six-ticket process without changing its layout. */
html body.single-ys_product .ys-v10-order-step {
    clip-path: polygon(
        10px 0,
        calc(100% - 10px) 0,
        100% 10px,
        100% calc(50% - 8px),
        calc(100% - 7px) 50%,
        100% calc(50% + 8px),
        100% calc(100% - 10px),
        calc(100% - 10px) 100%,
        10px 100%,
        0 calc(100% - 10px),
        0 calc(50% + 8px),
        7px 50%,
        0 calc(50% - 8px),
        0 10px
    );
    box-shadow:
        inset 0 0 0 4px rgba(255, 250, 240, .58),
        0 10px 24px rgba(66, 46, 22, .08);
}

html body.single-ys_product .ys-v10-order-step::before {
    right: 12px;
    bottom: 8px;
    width: 108px;
    height: 94px;
    opacity: .18;
}

html body.single-ys_product .ys-v10-order-step::after {
    content: "\2192";
}

html body.single-ys_product .ys-v10-anchor-nav a:focus {
    outline: none;
}

@media (max-width: 767px) {
    html body.single-ys_product #gallery .ys-v10-section-heading h2 {
        font-size: clamp(28px, 9vw, 38px) !important;
    }

    html body.single-ys_product .ys-v10-order-step::after {
        content: "\2193";
    }
}

/* =========================================================
   PHASE 12 — REFERENCE-ACCURATE DETAILS / ORDER / GALLERY
   ========================================================= */

/* One darker warm-paper surface from the Hero through Contact. */
html body.single-ys_product .ys-product-page,
html body.single-ys_product .ys-tourism-paper {
    background-color: #f4e2bf !important;
}

html body.single-ys_product .ys-tourism-paper {
    background-image: none !important;
}

html body.single-ys_product .ys-tourism-paper > .ys-tourism-section,
html body.single-ys_product .ys-tourism-paper > .ys-product-cta,
html body.single-ys_product .ys-tourism-paper > .ys-product-inquiry-section,
html body.single-ys_product #gallery.ys-product-gallery-section {
    background: #f4e2bf !important;
}

/* Restore the existing landmark skyline asset below the four Overview cards. */
html body.single-ys_product .ys-v10-cityline {
    width: 100%;
    height: 116px;
    margin: 4px auto -2px;
    opacity: .78;
    background-image: url("assets/tourism-ordering-skyline-v3-continuous.webp");
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100% auto;
}

html body.single-ys_product .ys-v10-cityline svg {
    display: none !important;
}

/* Product Details: 3:7 semantic table, centered icon labels. */
html body.single-ys_product .ys-v10-spec-table th {
    width: 30% !important;
    color: var(--ys-navy);
    font-weight: 800;
    text-align: center;
}

html body.single-ys_product .ys-v10-spec-table td {
    width: 70% !important;
}

html body.single-ys_product .ys-v10-spec-label-column {
    width: 30% !important;
}

html body.single-ys_product .ys-v10-spec-value-column {
    width: 70% !important;
}

html body.single-ys_product .ys-v10-table-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
}

html body.single-ys_product .ys-v10-table-icon {
    display: inline-flex;
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 50%;
    background: linear-gradient(180deg, #d9a12f 0%, #b97608 100%);
    box-shadow: 0 3px 8px rgba(169, 104, 0, .16);
}

html body.single-ys_product .ys-v10-table-icon svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (min-width: 1025px) {
    html body.single-ys_product .ys-v10-details-layout {
        grid-template-columns: minmax(185px, .84fr) minmax(610px, 3.25fr) minmax(185px, .84fr);
        gap: 30px;
        align-items: center;
    }

    html body.single-ys_product .ys-v10-side-card {
        display: flex;
        min-height: 420px;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 36px 22px;
        border: 1.5px solid rgba(165, 123, 69, .34);
        border-radius: 96px 96px 28px 28px;
        background: rgba(255, 250, 240, .84);
        box-shadow:
            inset 0 0 0 5px rgba(255, 255, 255, .28),
            0 16px 34px rgba(66, 46, 22, .11);
    }

    html body.single-ys_product .ys-v10-side-icon {
        width: 66px;
        height: 66px;
        margin-bottom: 20px;
    }

    html body.single-ys_product .ys-v10-side-card h3 {
        font-size: 18px;
    }

    html body.single-ys_product .ys-v10-side-card p {
        font-size: 14px;
        line-height: 1.65;
    }
}

/* How to Order: existing travel decorations and landmark ticket art. */
html body.single-ys_product .ys-v10-order {
    position: relative;
    isolation: isolate;
}

html body.single-ys_product .ys-v10-order::before,
html body.single-ys_product .ys-v10-order::after {
    display: none;
    position: absolute;
    z-index: 0;
    top: 54px;
    width: 132px;
    height: 104px;
    content: "";
    opacity: .48;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    pointer-events: none;
}

html body.single-ys_product .ys-v10-order::before {
    left: max(22px, calc(50% - 610px));
    background-image: var(--ys-decor-airplane);
}

html body.single-ys_product .ys-v10-order::after {
    right: max(22px, calc(50% - 610px));
    background-image: var(--ys-decor-handcrafted);
}

html body.single-ys_product .ys-v10-order > .ys-product-container,
html body.single-ys_product .ys-v10-order .ys-v10-section-heading,
html body.single-ys_product .ys-v10-order-grid,
html body.single-ys_product .ys-v10-nda {
    position: relative;
    z-index: 1;
}

html body.single-ys_product .ys-v10-order-step {
    position: relative;
    display: block;
    min-height: 0;
    overflow: visible;
    padding: 0;
    border: 0;
    clip-path: none;
    background: transparent;
    box-shadow: none;
}

html body.single-ys_product .ys-v10-order-step::before {
    display: none !important;
    content: none !important;
}

html body.single-ys_product .ys-v10-order-ticket {
    position: relative;
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 17px;
    min-height: 184px;
    align-items: center;
    overflow: hidden;
    padding: 20px 128px 20px 18px;
    border: 1px solid rgba(165, 123, 69, .34);
    clip-path: polygon(
        11px 0,
        calc(100% - 11px) 0,
        100% 11px,
        100% calc(50% - 8px),
        calc(100% - 7px) 50%,
        100% calc(50% + 8px),
        100% calc(100% - 11px),
        calc(100% - 11px) 100%,
        11px 100%,
        0 calc(100% - 11px),
        0 calc(50% + 8px),
        7px 50%,
        0 calc(50% - 8px),
        0 11px
    );
    background: linear-gradient(145deg, rgba(255, 252, 245, .96), rgba(249, 237, 214, .90));
    box-shadow: inset 0 0 0 5px rgba(255, 255, 255, .42);
    filter: drop-shadow(0 9px 12px rgba(66, 46, 22, .08));
}

html body.single-ys_product .ys-v10-order-ticket::before {
    position: absolute;
    right: 7px;
    bottom: 7px;
    width: 126px;
    height: 132px;
    content: "";
    opacity: .64;
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
    pointer-events: none;
}

html body.single-ys_product .ys-v10-order-step:nth-child(1) .ys-v10-order-ticket::before { background-image: url("assets/ys-landmark-01-st-peters-v2.webp"); }
html body.single-ys_product .ys-v10-order-step:nth-child(2) .ys-v10-order-ticket::before { background-image: url("assets/ys-landmark-02-eiffel-tower-v2.webp"); }
html body.single-ys_product .ys-v10-order-step:nth-child(3) .ys-v10-order-ticket::before { background-image: url("assets/ys-landmark-03-dutch-windmill-v2.webp"); }
html body.single-ys_product .ys-v10-order-step:nth-child(4) .ys-v10-order-ticket::before { background-image: url("assets/ys-landmark-04-cologne-cathedral-v2.webp"); }
html body.single-ys_product .ys-v10-order-step:nth-child(5) .ys-v10-order-ticket::before { background-image: url("assets/ys-landmark-05-big-ben-v2.webp"); }
html body.single-ys_product .ys-v10-order-step:nth-child(6) .ys-v10-order-ticket::before { background-image: url("assets/ys-landmark-06-us-capitol-v2.webp"); }

html body.single-ys_product .ys-v10-order-ticket > div {
    position: relative;
    z-index: 2;
}

html body.single-ys_product .ys-v10-step-number {
    position: relative;
    z-index: 2;
    min-height: 136px;
    border: 1px solid rgba(255, 255, 255, .50);
    border-radius: 0;
    clip-path: polygon(8px 0, calc(100% - 8px) 0, 100% 8px, 100% calc(100% - 8px), calc(100% - 8px) 100%, 8px 100%, 0 calc(100% - 8px), 0 8px);
    box-shadow: inset 0 0 0 4px rgba(255, 255, 255, .12);
}

html body.single-ys_product .ys-v10-step-number::after {
    margin-top: 12px;
    content: "\2605";
    font-size: 9px;
    line-height: 1;
}

@media (min-width: 1025px) {
    html body.single-ys_product .ys-v10-order::before,
    html body.single-ys_product .ys-v10-order::after {
        display: block;
    }

    html body.single-ys_product .ys-v10-order-step::after {
        display: grid;
        top: 50%;
        right: -28px;
        bottom: auto;
        width: 26px;
        height: 26px;
        place-items: center;
        content: "\2192";
        color: var(--ys-gold-dark);
        border: 2px solid rgba(190, 126, 13, .72);
        border-radius: 50%;
        background: #fbf4e6;
        font-size: 16px;
        line-height: 1;
        transform: translateY(-50%);
    }

    html body.single-ys_product .ys-v10-order-step:nth-child(3)::after,
    html body.single-ys_product .ys-v10-order-step:nth-child(6)::after {
        display: none;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    html body.single-ys_product .ys-v10-order-step::after {
        display: none !important;
    }
}

/* NDA becomes a complete ticket banner with shield, divider and mountain art. */
html body.single-ys_product .ys-v10-nda {
    min-height: 132px;
    border: 1px solid rgba(165, 123, 69, .36);
    clip-path: polygon(11px 0, calc(100% - 11px) 0, 100% 11px, 100% calc(100% - 11px), calc(100% - 11px) 100%, 11px 100%, 0 calc(100% - 11px), 0 11px);
    background: linear-gradient(145deg, rgba(255, 252, 245, .96), rgba(249, 237, 214, .90));
    box-shadow: inset 0 0 0 5px rgba(255, 255, 255, .40);
    filter: drop-shadow(0 10px 14px rgba(66, 46, 22, .08));
}

html body.single-ys_product .ys-v10-nda::before {
    position: absolute;
    top: 22px;
    bottom: 22px;
    left: 122px;
    content: "";
    border-left: 1px dashed rgba(165, 123, 69, .34);
}

html body.single-ys_product .ys-v10-nda-icon {
    width: 78px;
    height: 78px;
    color: #c5840c;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

html body.single-ys_product .ys-v10-nda-icon svg {
    width: 64px;
    height: 64px;
    stroke-width: 1.45;
}

html body.single-ys_product .ys-v10-nda-copy h3 {
    font-size: 20px;
}

html body.single-ys_product .ys-v10-nda-art {
    max-height: 112px;
    opacity: .88;
}

@media (min-width: 768px) {
    html body.single-ys_product .ys-v10-nda {
        grid-template-columns: 88px minmax(0, 1fr) minmax(210px, 300px);
        gap: 28px;
        padding: 20px 28px;
    }
}

/* Deliberate two-line, centered Gallery heading. */
html body.single-ys_product #gallery .ys-v10-section-heading h2 {
    font-size: clamp(34px, 3.15vw, 46px) !important;
}

html body.single-ys_product #gallery .ys-v10-section-heading h2 span {
    display: block;
    width: 100%;
    text-align: center;
}

html body.single-ys_product #gallery .ys-product-gallery-frame {
    aspect-ratio: 1 / 1 !important;
}

html body.single-ys_product #gallery .ys-product-gallery-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

@media (max-width: 767px) {
    html body.single-ys_product .ys-v10-cityline {
        height: 66px;
        margin-top: 4px;
        background-size: auto 100%;
    }

    html body.single-ys_product .ys-v10-order-ticket {
        grid-template-columns: 62px minmax(0, 1fr);
        gap: 15px;
        min-height: 156px;
        padding: 18px;
    }

    html body.single-ys_product .ys-v10-order-ticket::before {
        width: 108px;
        height: 112px;
        opacity: .12;
    }

    html body.single-ys_product .ys-v10-step-number {
        min-height: 118px;
    }

    html body.single-ys_product .ys-v10-order-step::after {
        display: grid;
        top: auto;
        right: 50%;
        bottom: -25px;
        width: 24px;
        height: 24px;
        place-items: center;
        content: "\2193";
        color: var(--ys-gold-dark);
        border: 2px solid rgba(190, 126, 13, .72);
        border-radius: 50%;
        background: #fbf4e6;
        font-size: 15px;
        line-height: 1;
        transform: translateX(50%);
    }

    html body.single-ys_product .ys-v10-order-step:last-child::after {
        display: none;
    }

    html body.single-ys_product .ys-v10-nda::before {
        display: none;
    }

    html body.single-ys_product #gallery .ys-v10-section-heading h2 {
        font-size: clamp(29px, 9vw, 38px) !important;
    }
}

@media (max-width: 420px) {
    html body.single-ys_product .ys-v10-spec-table th,
    html body.single-ys_product .ys-v10-spec-table td {
        display: table-cell !important;
    }

    html body.single-ys_product .ys-v10-spec-table th,
    html body.single-ys_product .ys-v10-spec-label-column {
        width: 38% !important;
    }

    html body.single-ys_product .ys-v10-spec-table td,
    html body.single-ys_product .ys-v10-spec-value-column {
        width: 62% !important;
    }

    html body.single-ys_product .ys-v10-table-label {
        flex-direction: column;
        gap: 5px;
    }

    html body.single-ys_product .ss-site-footer-v3 {
        width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}

/* =========================================================
   PHASE 15 - REVIEW POLISH: PAPER EDGE, OVERVIEW, DETAILS
   ========================================================= */

/* Remove the decorative dotted outline around the full content area. */
html body.single-ys_product .ys-tourism-paper::before {
    display: none !important;
    content: none !important;
    border: 0 !important;
}

/* Overview: two distinct, extractable answers with a shared left edge. */
html body.single-ys_product #overview .ys-v10-section-heading {
    max-width: 1240px !important;
}

html body.single-ys_product #overview .ys-v10-answer-copy {
    width: min(1180px, 100%) !important;
    max-width: 1180px !important;
    gap: 15px !important;
    margin: 0 auto !important;
    text-align: left !important;
}

html body.single-ys_product #overview .ys-v10-answer-copy p {
    position: relative !important;
    margin: 0 !important;
    padding-left: 30px !important;
    text-align: left !important;
}

html body.single-ys_product #overview .ys-v10-answer-copy p::before {
    position: absolute;
    top: .04em;
    left: 2px;
    content: "\2605";
    color: #d59312;
    font-size: 18px;
    line-height: 1.45;
    text-shadow: 0 2px 4px rgba(168, 102, 0, .16);
}

/* Details: compact label column and one stable icon/text alignment axis. */
html body.single-ys_product .ys-v10-spec-table th,
html body.single-ys_product .ys-v10-spec-label-column {
    width: 26% !important;
}

html body.single-ys_product .ys-v10-spec-table td,
html body.single-ys_product .ys-v10-spec-value-column {
    width: 74% !important;
}

html body.single-ys_product .ys-v10-spec-table th {
    padding-right: 16px !important;
    padding-left: 16px !important;
}

html body.single-ys_product .ys-v10-spec-table td {
    padding-right: 20px !important;
    padding-left: 22px !important;
}

html body.single-ys_product .ys-v10-table-label {
    display: grid !important;
    grid-template-columns: 31px minmax(0, 1fr) !important;
    gap: 10px !important;
    width: min(100%, 190px) !important;
    align-items: center !important;
    justify-content: initial !important;
    margin: 0 auto !important;
    text-align: left !important;
}

html body.single-ys_product .ys-v10-table-icon {
    width: 31px !important;
    height: 31px !important;
    flex-basis: 31px !important;
}

html body.single-ys_product .ys-v10-table-icon svg {
    width: 17px !important;
    height: 17px !important;
}

@media (min-width: 1025px) {
    html body.single-ys_product .ys-v10-details-layout {
        grid-template-columns: minmax(160px, .62fr) minmax(0, 4.25fr) minmax(160px, .62fr) !important;
        gap: 22px !important;
        align-items: center !important;
    }

    html body.single-ys_product .ys-v10-side-card {
        width: 100% !important;
        height: 390px !important;
        min-height: 0 !important;
        max-height: 390px !important;
        align-self: center !important;
        padding: 26px 16px !important;
        border-radius: 78px 78px 24px 24px !important;
    }

    html body.single-ys_product .ys-v10-side-icon {
        width: 80px !important;
        height: 80px !important;
        flex: 0 0 80px !important;
        margin-bottom: 18px !important;
    }

    html body.single-ys_product .ys-v10-side-icon svg {
        width: 46px !important;
        height: 46px !important;
        stroke-width: 1.45 !important;
    }
}

@media (max-width: 767px) {
    html body.single-ys_product #overview .ys-v10-answer-copy {
        gap: 13px !important;
    }

    html body.single-ys_product #overview .ys-v10-answer-copy p {
        padding-left: 27px !important;
    }

    html body.single-ys_product .ys-v10-spec-table th,
    html body.single-ys_product .ys-v10-spec-label-column {
        width: 36% !important;
    }

    html body.single-ys_product .ys-v10-spec-table td,
    html body.single-ys_product .ys-v10-spec-value-column {
        width: 64% !important;
    }

    html body.single-ys_product .ys-v10-spec-table th,
    html body.single-ys_product .ys-v10-spec-table td {
        padding-right: 10px !important;
        padding-left: 10px !important;
    }

    html body.single-ys_product .ys-v10-table-label {
        grid-template-columns: 27px minmax(0, 1fr) !important;
        gap: 7px !important;
        width: 100% !important;
    }

    html body.single-ys_product .ys-v10-table-icon {
        width: 27px !important;
        height: 27px !important;
    }
}

@media (max-width: 420px) {
    html body.single-ys_product .ys-v10-spec-table th,
    html body.single-ys_product .ys-v10-spec-label-column {
        width: 36% !important;
    }

    html body.single-ys_product .ys-v10-spec-table td,
    html body.single-ys_product .ys-v10-spec-value-column {
        width: 64% !important;
    }

    html body.single-ys_product .ys-v10-table-label {
        display: grid !important;
        grid-template-columns: 25px minmax(0, 1fr) !important;
        gap: 6px !important;
    }
}

/* PHASE 17 - authoritative tail for the final review corrections. */
html body.single-ys_product .ys-tourism-paper > #overview,
html body.single-ys_product .ys-tourism-paper > #details,
html body.single-ys_product .ys-tourism-paper > #how-to-order,
html body.single-ys_product .ys-tourism-paper > #gallery,
html body.single-ys_product .ys-tourism-paper > #faq,
html body.single-ys_product .ys-tourism-paper > .ys-product-cta,
html body.single-ys_product .ys-tourism-paper > #ys-product-inquiry {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}

html body.single-ys_product .ys-tourism-paper > #ys-product-inquiry {
    padding-bottom: 120px !important;
}

html body.single-ys_product #how-to-order::before {
    display: none !important;
    content: none !important;
    background-image: none !important;
}

html body.single-ys_product #gallery.ys-product-gallery-section {
    overflow: hidden !important;
}

html body.single-ys_product #gallery.ys-product-gallery-section::before {
    top: -130px !important;
    left: -14px !important;
    width: 340px !important;
    height: 340px !important;
    background-position: center bottom !important;
}

html body.single-ys_product #faq.ys-resource-section::before {
    display: none !important;
    content: none !important;
    background-image: none !important;
}

html body.single-ys_product .ys-product-contact-card {
    padding-bottom: 200px !important;
}

html body.single-ys_product .ys-product-contact-card .ys-contact-round-stamp {
    right: auto !important;
    bottom: 24px !important;
    left: 50% !important;
    width: 220px !important;
    height: 138px !important;
    transform: translateX(-50%) rotate(-7deg) !important;
    transform-origin: center !important;
}

@media (min-width: 1025px) {
    html body.single-ys_product #how-to-order::after {
        display: block !important;
        top: 20px !important;
        right: max(22px, calc(50% - 610px)) !important;
        width: 188px !important;
        height: 150px !important;
        opacity: .66 !important;
        background-image: var(--ys-decor-handcrafted) !important;
        background-size: contain !important;
    }

    html body.single-ys_product .ys-v10-order-step::after {
        display: grid !important;
        top: 50% !important;
        right: -34px !important;
        bottom: auto !important;
        width: 38px !important;
        height: 38px !important;
        place-items: center !important;
        content: "\003E" !important;
        color: #a96800 !important;
        border: 3px solid rgba(190, 126, 13, .90) !important;
        border-radius: 50% !important;
        background: #fff8ea !important;
        box-shadow: 0 5px 12px rgba(115, 70, 8, .18) !important;
        font-family: Arial, sans-serif !important;
        font-size: 29px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        text-indent: 1px !important;
        transform: translateY(-50%) !important;
        box-sizing: border-box !important;
    }

    html body.single-ys_product .ys-v10-order-step:nth-child(3)::after,
    html body.single-ys_product .ys-v10-order-step:nth-child(6)::after {
        display: none !important;
    }
}

@media (max-width: 1024px) and (min-width: 601px) {
    html body.single-ys_product #gallery.ys-product-gallery-section::before {
        top: -92px !important;
        left: -18px !important;
        width: 230px !important;
        height: 230px !important;
    }

    html body.single-ys_product .ys-product-contact-card {
        padding-bottom: 178px !important;
    }

    html body.single-ys_product .ys-product-contact-card .ys-contact-round-stamp {
        bottom: 20px !important;
        width: 205px !important;
        height: 128px !important;
    }
}

@media (max-width: 767px) {
    html body.single-ys_product #how-to-order::after {
        display: none !important;
    }

    html body.single-ys_product .ys-v10-order-step::after {
        content: "\2193" !important;
        font-weight: 800 !important;
    }
}

@media (max-width: 600px) {
    html body.single-ys_product .ys-tourism-paper > #overview,
    html body.single-ys_product .ys-tourism-paper > #details,
    html body.single-ys_product .ys-tourism-paper > #how-to-order,
    html body.single-ys_product .ys-tourism-paper > #gallery,
    html body.single-ys_product .ys-tourism-paper > #faq,
    html body.single-ys_product .ys-tourism-paper > .ys-product-cta,
    html body.single-ys_product .ys-tourism-paper > #ys-product-inquiry {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }

    html body.single-ys_product .ys-tourism-paper > #ys-product-inquiry {
        padding-bottom: 88px !important;
    }

    html body.single-ys_product .ys-product-contact-card {
        padding-bottom: 150px !important;
    }

    html body.single-ys_product .ys-product-contact-card .ys-contact-round-stamp {
        right: auto !important;
        bottom: 16px !important;
        left: 50% !important;
        width: 170px !important;
        height: 106px !important;
        transform: translateX(-50%) rotate(-7deg) !important;
    }
}

/* Absolute end-of-file cascade lock — 2026-08-24 final layout QA. */
html body.single-ys_product #primary.ys-product-page .ys-hero-photo-window {
    width: 92% !important;
    height: 92% !important;
}

@media (min-width: 1025px) {
    html body.single-ys_product #primary.ys-product-page section#overview.ys-v10-overview {
        overflow: visible !important;
    }

    html body.single-ys_product #primary.ys-product-page section#overview.ys-v10-overview .ys-v10-cityline {
        position: relative !important;
        z-index: 3 !important;
        display: block !important;
        width: 100% !important;
        height: 116px !important;
        margin-top: -38px !important;
        margin-bottom: -60px !important;
        overflow: visible !important;
        background-position: center center !important;
        background-size: 100% 100% !important;
    }

    html body.single-ys_product #primary.ys-product-page section#details.ys-v10-details {
        position: relative !important;
        z-index: 1 !important;
        padding-top: 76px !important;
    }

    html body.single-ys_product #primary.ys-product-page #gallery.ys-product-gallery-section::before {
        display: block !important;
        top: 180px !important;
        left: -58px !important;
        width: 272px !important;
        height: 272px !important;
    }

    html body.single-ys_product #primary.ys-product-page #ys-product-inquiry .ys-product-inquiry-grid {
        align-items: stretch !important;
    }

    html body.single-ys_product #primary.ys-product-page #ys-product-inquiry .ys-product-contact-card,
    html body.single-ys_product #primary.ys-product-page #ys-product-inquiry .ys-product-form-card {
        align-self: stretch !important;
        min-height: 0 !important;
        height: auto !important;
    }

    html body.single-ys_product #primary.ys-product-page #ys-product-inquiry .ys-product-contact-card {
        padding-bottom: 30px !important;
    }

    html body.single-ys_product #primary.ys-product-page #ys-product-inquiry .ys-product-contact-card .ys-contact-round-stamp {
        right: auto !important;
        bottom: -62px !important;
        left: 50% !important;
        width: 320px !important;
        height: 200px !important;
        opacity: 1 !important;
        transform: translateX(-50%) rotate(-7deg) !important;
        transform-origin: center !important;
    }
}

@media (max-width: 1024px) {
    html body.single-ys_product #primary.ys-product-page #gallery.ys-product-gallery-section::before {
        display: none !important;
    }
}

@media (max-width: 600px) {
    html body.single-ys_product #primary.ys-product-page .ys-hero-photo-window {
        width: 90% !important;
        height: 90% !important;
    }

    html body.single-ys_product #primary.ys-product-page section#overview.ys-v10-overview .ys-v10-cityline {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        background: none !important;
    }

    html body.single-ys_product #primary.ys-product-page section#details.ys-v10-details {
        padding-top: 44px !important;
    }
}
