:root {
    --color-text: #1a1a1a;
    --color-text-light: #555555;
    --font-serif: 'Literata', serif;
    --font-sans: 'Inter', sans-serif;
    /* V61: BRAND BOOK COMPLIANCE (Literata + Inter) */

    /* A5 Dimensions (Strict) */
    --page-width: 148mm;
    --page-height: 210mm;

    /* V58: LIST UP, FOOTER FIXED (21mm Top / 6mm Bottom) */
    --page-padding-top: 21mm;
    /* V75: Low Footer (10mm Bottom) */
    --page-padding-bottom: 10mm;
    --page-padding-side: 28mm;
}

body {
    margin: 0;
    padding: 0;
    background-color: #e0e0e0;
    font-family: var(--font-sans);
    color: var(--color-text);
    -webkit-font-smoothing: antialiased;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
}

.a4-page {
    width: var(--page-width);
    height: var(--page-height);
    margin: 0;
    padding: var(--page-padding-top) var(--page-padding-side) var(--page-padding-bottom) var(--page-padding-side);
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;

    /* --- TEXTURE --- */
    background-color: #fcfcf7;
    /* V92: Raw Texture (No Overlay) */
    background-image: url('../assets/palm_leaf_shadow_texture.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}

/* HEADER */
.header {
    text-align: center;
    /* V80: Restore Header (10mm) */
    margin-bottom: 10mm;
    position: relative;
    z-index: 20;
}

.logo-img {
    width: auto;
    max-width: 206px;
    height: auto;
    display: block;
    margin: 0 auto;
}

/* LIST STYLES */
.treatment-list {
    /* V80: Don't push footer down */
    flex-grow: 0;
    display: flex;
    flex-direction: column;
    /* V77: Start from top */
    justify-content: flex-start;
    gap: 0;
    margin-top: 0;
    mix-blend-mode: multiply;
}

/* SECTIONS */
.menu-section {
    /* V66: Unified Block (2.5mm) */
    margin-bottom: 2.5mm;
}

/* HEADERS */
.section-header {
    font-family: var(--font-sans);
    /* V52 Size */
    font-size: 9.5pt;
    /* V70: Light Header (300) */
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #999;
    border: none;
    /* V65: Tight Header (0.5mm) */
    margin-bottom: 0.5mm;
    display: block;
    text-align: left;
}

/* MENU ITEMS */
.menu-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    /* V65: Tight Items (2mm) */
    margin-bottom: 2mm;
}

.item-left {
    display: flex;
    flex-direction: column;
    max-width: 68%;
}

.item-time {
    font-family: var(--font-serif);
    /* V52 Size */
    font-size: 12.5pt;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1.1;
}

.item-desc {
    font-family: var(--font-sans);
    /* V52 Size */
    font-size: 9pt;
    /* V64: Light (300) - Unified */
    font-weight: 300;
    color: #555;
    /* V65: Tight Desc (0) */
    margin-top: 0;
    /* V65: Tight Desc (0) */
    margin-top: 0;
    /* V80: Unified Spacing (0) */
    letter-spacing: 0;
    /* V53: Tighter line height (1.25) */
    line-height: 1.35;
}

.item-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
    min-width: 25%;
}

.item-price {
    font-family: var(--font-serif);
    /* V52 Size */
    font-size: 12.5pt;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1.1;
}

.item-bono {
    font-family: var(--font-sans);
    /* V52 Size */
    font-size: 8pt;
    /* V63: Lighter Bono (300) */
    font-weight: 300;
    color: #888;
    margin-top: 1mm;
    letter-spacing: 0.02em;
    white-space: normal;
    text-align: right;
    line-height: 1.3;
}

/* FOOTER STRUCTURE */
.footer {
    /* V99: Push palette down more (4mm) */
    margin-top: 4mm;
    text-align: center;
    border-top: none;
    /* V53: 1mm */
    /* V53: 1mm -> V76: More space above palette (3mm) */
    padding-top: 3mm;
    opacity: 0.9;
    mix-blend-mode: multiply;
}

.footer-palette {
    font-family: var(--font-sans);
    /* V64: Unified Size (9pt) -> V71: Uppercase needs smaller (8pt) -> V72: Match Header (9.5pt) */
    font-size: 9.5pt;
    /* V64: Unified Weight (300) */
    font-weight: 300;
    /* V74: Business Card Style (Normal Case, Normal Spacing) */
    text-transform: none;
    letter-spacing: normal;
    color: #555;
    /* V96: Balanced Separation (8mm) */
    margin-bottom: 8mm;
    line-height: 1.4;
    max-width: 100%;
}

.footer-info {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4mm;
    /* V76: Flex Layout for QR */
    font-family: var(--font-sans);
    /* V52 Size */
    font-size: 8pt;
    font-weight: 400;
    color: #666;
    line-height: 1.3;
    margin-bottom: 1.5mm;
}

.contact-text {
    text-align: right;
}

.qr-code {
    height: 12mm;
    width: 12mm;
    display: block;
}

.legal-text {
    display: block;
    font-family: var(--font-sans);
    /* V52 Size */
    font-size: 6pt;
    font-weight: 300;
    color: #999;
    line-height: 1.2;
}

/* PRINT OVERRIDES */
@page {
    size: A5;
    margin: 0;
}

@media print {
    body {
        margin: 0;
        background: none;
        display: block;
        min-height: auto;
    }

    .a4-page {
        width: 148mm;
        height: 210mm;
        margin: 0;
        padding: var(--page-padding-top) var(--page-padding-side) var(--page-padding-bottom) var(--page-padding-side);
        box-shadow: none;
        page-break-after: always;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}