/* Zandino Core frontend surfaces — v0.6.0 */

/* Service configurator ----------------------------------------------------- */
.zcp-configurator {
    --zcp-service-accent: var(--zandino-accent, #4f8cff);
    margin: 24px 0 18px;
    padding: 22px;
    border: 1px solid rgba(94, 135, 189, .18);
    border-radius: 20px;
    background: rgba(7, 20, 38, .035);
}

.zcp-configurator__head {
    display: grid;
    gap: 6px;
    margin-bottom: 20px;
}

.zcp-configurator__head > span {
    color: var(--zcp-service-accent);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.zcp-configurator__head > strong { font-size: clamp(19px, 2vw, 24px); }
.zcp-configurator__head > p { margin: 0; color: #6d7c91; font-size: 12px; line-height: 1.75; }
.zcp-configurator__fields { display: grid; gap: 14px; }

.zcp-field {
    display: grid;
    gap: 10px;
    padding: 15px;
    border: 1px solid rgba(98, 135, 184, .15);
    border-radius: 14px;
    background: rgba(255, 255, 255, .72);
}

.zcp-field__label { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.zcp-field__label label { color: #25364c; font-size: 12px; font-weight: 750; }
.zcp-field__label output { min-width: 36px; color: var(--zcp-service-accent); font-weight: 850; text-align: end; }
.zcp-field input[type="range"] { width: 100%; accent-color: var(--zcp-service-accent); }

.zcp-field input[type="number"],
.zcp-field select {
    width: 100%;
    min-height: 46px;
    box-sizing: border-box;
    padding: 8px 12px;
    border: 1px solid #cad6e4;
    border-radius: 11px;
    background: #fff;
}

.zcp-toggle { display: flex; align-items: center; gap: 11px; cursor: pointer; }
.zcp-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.zcp-toggle > span { position: relative; width: 48px; height: 27px; border-radius: 99px; background: #b7c2d0; transition: background .18s ease; }
.zcp-toggle > span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 21px; height: 21px; border-radius: 50%; background: #fff; box-shadow: 0 2px 5px rgba(9, 24, 39, .2); transition: transform .18s ease; }
.zcp-toggle input:checked + span { background: var(--zcp-service-accent); }
.zcp-toggle input:checked + span::after { transform: translateX(21px); }
.zcp-toggle b { color: #42536a; font-size: 12px; }

.zcp-configurator__fixed {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px;
    border: 1px solid rgba(38, 132, 94, .18);
    border-radius: 14px;
    background: rgba(29, 151, 99, .07);
}

.zcp-configurator__fixed > span { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 auto; border-radius: 9px; background: #17835c; color: #fff; font-weight: 900; }
.zcp-configurator__fixed > div { display: grid; gap: 3px; }
.zcp-configurator__fixed small { color: #68788d; }

.zcp-configurator__total {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-top: 20px;
    padding-top: 17px;
    border-top: 1px solid rgba(89, 127, 178, .16);
}

.zcp-configurator__total > div { display: grid; gap: 4px; }
.zcp-configurator__total span { color: #526278; font-size: 11px; font-weight: 750; }
.zcp-configurator__total small { color: #8794a5; font-size: 9px; }
.zcp-configurator__total > strong { color: #14243a; font-size: clamp(22px, 3vw, 29px); }

/* Service product semantic blocks ---------------------------------------- */
.zcp-service-visual {
    position: relative;
    overflow: hidden;
    min-height: 610px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(22px, 3vw, 34px);
    border: 1px solid rgba(102, 160, 238, .18);
    border-radius: 30px;
    background:
        radial-gradient(circle at 75% 20%, rgba(63, 133, 242, .27), transparent 31%),
        linear-gradient(145deg, #061429, #0b2851);
    color: #fff;
    box-shadow: 0 30px 80px rgba(3, 18, 40, .2);
}

.zcp-service-visual figure { position: absolute; inset: 0; margin: 0; }
.zcp-service-visual figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3, 15, 33, .04), rgba(3, 15, 33, .88)); }
.zcp-service-visual figure img { width: 100%; height: 100%; object-fit: cover; }

.zcp-service-visual__system { position: absolute; inset: 0; display: grid; place-items: center; overflow: hidden; }
.zcp-service-visual__system > span { position: relative; z-index: 2; display: grid; place-items: center; width: 104px; height: 104px; border: 1px solid rgba(137, 187, 255, .35); border-radius: 29px; background: rgba(18, 67, 129, .55); color: #e8f2ff; font-size: 45px; font-weight: 950; box-shadow: 0 0 80px rgba(50, 128, 242, .24); }
.zcp-service-visual__system > i { position: absolute; width: 250px; height: 250px; border: 1px solid rgba(126, 178, 251, .17); border-radius: 50%; }
.zcp-service-visual__system > i:nth-of-type(2) { width: 390px; height: 390px; border-style: dashed; }
.zcp-service-visual__system > i:nth-of-type(3) { width: 540px; height: 540px; opacity: .5; }

.zcp-service-visual__meta,
.zcp-service-visual ul { position: relative; z-index: 3; }
.zcp-service-visual__meta { display: grid; gap: 5px; }
.zcp-service-visual__meta > span { color: #8bbdff; font-size: 9px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.zcp-service-visual__meta > strong { font-size: clamp(25px, 3.4vw, 42px); line-height: 1.15; }
.zcp-service-visual ul { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 22px 0 0; padding: 0; list-style: none; }
.zcp-service-visual li { display: flex; align-items: center; gap: 8px; color: #d6e5fa; font-size: 11px; }
.zcp-service-visual li > span { display: grid; place-items: center; width: 20px; height: 20px; flex: 0 0 auto; border-radius: 7px; background: rgba(78, 145, 243, .22); color: #9cc8ff; }

.zcp-service-eyebrow { display: flex; align-items: center; gap: 8px; color: #4f8cff; font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.zcp-service-eyebrow > span { width: 20px; height: 2px; background: currentColor; }

.zcp-service-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 21px 0; }
.zcp-service-facts > div { display: grid; gap: 5px; min-height: 64px; box-sizing: border-box; padding: 12px; border: 1px solid rgba(86, 124, 175, .15); border-radius: 13px; background: rgba(255, 255, 255, .65); }
.zcp-service-facts span { color: #718096; font-size: 9px; }
.zcp-service-facts strong { color: #23344b; font-size: 11px; line-height: 1.45; }

.zcp-service-assurance { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; clear: both; margin-top: 17px; }
.zcp-service-assurance > div { display: grid; grid-template-columns: auto 1fr; column-gap: 9px; padding: 12px; border: 1px solid rgba(89, 130, 184, .14); border-radius: 13px; background: rgba(255, 255, 255, .55); }
.zcp-service-assurance span { grid-row: 1 / 3; color: #4f8cff; font-size: 10px; font-weight: 850; }
.zcp-service-assurance strong { color: #24354b; font-size: 11px; }
.zcp-service-assurance small { margin-top: 3px; color: #748297; line-height: 1.5; }

.zcp-service-details { width: 100%; margin: clamp(55px, 8vw, 100px) 0 15px; }
.zcp-service-details > header { max-width: 720px; margin-bottom: 25px; }
.zcp-service-details > header > span { color: #4f8cff; font-size: 9px; font-weight: 850; letter-spacing: .16em; }
.zcp-service-details h2 { margin: 8px 0 0; color: #0b1b30; font-size: clamp(28px, 4vw, 48px); line-height: 1.15; }
.zcp-service-details__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.zcp-service-details article { padding: clamp(21px, 3vw, 31px); border: 1px solid #dbe4ef; border-radius: 22px; background: #fff; box-shadow: 0 14px 42px rgba(12, 36, 65, .05); }
.zcp-service-details article > span { color: #4f8cff; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.zcp-service-details h3 { margin: 7px 0 19px; color: #172940; font-size: 22px; }
.zcp-service-details ul,
.zcp-service-details ol { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.zcp-service-details ul li { position: relative; padding: 11px 36px 11px 10px; border-radius: 11px; background: #f5f8fc; color: #485a70; }
.zcp-service-details ul li::before { content: "✓"; position: absolute; inset: 11px 11px auto auto; color: #2778ee; font-weight: 900; }
.zcp-service-details ol li { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 11px; min-height: 50px; border-bottom: 1px solid #e5ebf2; }
.zcp-service-details ol li:last-child { border-bottom: 0; }
.zcp-service-details ol b { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: #eaf2ff; color: #266fda; font-size: 10px; }
.zcp-service-details ol span { color: #485a70; }

/* Service-first public page ------------------------------------------------
 * The WooCommerce product is only a hidden payment record. These selectors
 * own the public service experience independently from a theme's shop CSS. */
body.zandino-service-page {
    --zcp-service-ink: #10233d;
    --zcp-service-muted: #63758b;
    --zcp-service-line: #dce5ef;
    --zcp-service-soft: #f2f6fa;
    --zcp-service-blue: #2d6fc8;
    margin: 0;
    overflow-x: hidden;
    overflow-x: clip;
    background: #f6f8fb;
    color: var(--zcp-service-ink);
}

body.zandino-service-page main.zcp-service-page {
    width: 100vw;
    max-width: none;
    box-sizing: border-box;
    margin-inline: calc(50% - 50vw);
    padding: clamp(28px, 5vw, 72px) 0 clamp(58px, 8vw, 110px);
    overflow: clip;
    background:
        radial-gradient(circle at 10% 0%, rgba(55, 119, 205, .08), transparent 27%),
        linear-gradient(180deg, #f8fafc, #f3f6fa);
    font-family: Vazirmatn, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Arial, sans-serif;
}

.zcp-service-shell { width: min(100% - 36px, 1240px); margin-inline: auto; }
.zcp-service-breadcrumb { display: flex; align-items: center; gap: 9px; margin-bottom: 24px; color: #8997a8; font-size: 11px; }
.zcp-service-breadcrumb a { color: #53677f; text-decoration: none; }
.zcp-service-hero { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(390px, .96fr); gap: clamp(24px, 4vw, 54px); align-items: start; }
.zcp-service-intro { min-width: 0; padding-top: clamp(15px, 3vw, 35px); }
.zcp-service-kicker { display: flex; align-items: center; gap: 9px; color: var(--zcp-service-blue); font-size: 10px; font-weight: 850; letter-spacing: .06em; }
.zcp-service-kicker > span { width: 26px; height: 2px; border-radius: 2px; background: currentColor; }
.zcp-service-intro h1 { max-width: 760px; margin: 14px 0 17px !important; color: var(--zcp-service-ink) !important; font-size: clamp(39px, 5.4vw, 72px) !important; font-weight: 900 !important; line-height: 1.08 !important; letter-spacing: -.035em; }
.zcp-service-lead { max-width: 730px; margin: 0 !important; color: var(--zcp-service-muted); font-size: clamp(14px, 1.5vw, 17px); line-height: 2; }

.zcp-service-page .zcp-service-facts { display: flex; flex-wrap: wrap; gap: 9px; margin: 26px 0 22px; }
.zcp-service-page .zcp-service-facts > div { min-width: 140px; min-height: 0; padding: 12px 14px; border: 1px solid var(--zcp-service-line); border-radius: 13px; background: rgba(255, 255, 255, .78); }
.zcp-service-page .zcp-service-facts span { color: #8190a2; font-size: 9px; }
.zcp-service-page .zcp-service-facts strong { color: #263b55; font-size: 11px; }

.zcp-service-cover { position: relative; overflow: hidden; height: clamp(270px, 36vw, 430px); margin: 0; border: 1px solid #d5e0eb; border-radius: 26px; background: #0d2440; box-shadow: 0 25px 70px rgba(22, 48, 78, .12); }
.zcp-service-cover img { width: 100%; height: 100%; object-fit: cover; }
.zcp-service-cover--system { display: grid; place-items: center; background: radial-gradient(circle at 65% 20%, rgba(79, 143, 224, .35), transparent 30%), linear-gradient(145deg, #0b1c31, #163c68); }
.zcp-service-cover--system > span { position: relative; z-index: 2; display: grid; place-items: center; width: 94px; height: 94px; border: 1px solid rgba(190, 217, 248, .27); border-radius: 28px; background: rgba(255, 255, 255, .08); color: #f4f8fc; font-size: 40px; font-weight: 950; box-shadow: 0 20px 65px rgba(0, 0, 0, .2); }
.zcp-service-cover--system > i { position: absolute; width: 230px; height: 230px; border: 1px solid rgba(173, 209, 248, .16); border-radius: 50%; }
.zcp-service-cover--system > i:nth-of-type(2) { width: 360px; height: 360px; border-style: dashed; }
.zcp-service-cover--system > i:nth-of-type(3) { width: 520px; height: 520px; opacity: .5; }
.zcp-service-cover--system > b { position: absolute; inset: auto 22px 18px auto; color: rgba(255, 255, 255, .34); font-size: 10px; letter-spacing: .18em; }

.zcp-service-order { position: sticky; inset-block-start: 20px; overflow: hidden; min-width: 0; border: 1px solid #d6e1ec; border-radius: 26px; background: rgba(255, 255, 255, .94); box-shadow: 0 30px 80px rgba(18, 46, 78, .11); }
.zcp-service-order__head { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding: 22px 24px 19px; border-bottom: 1px solid #e5ebf2; background: #fbfcfd; }
.zcp-service-order__head > div { display: grid; gap: 4px; }
.zcp-service-order__head > div span { color: var(--zcp-service-blue); font-size: 9px; font-weight: 850; }
.zcp-service-order__head > div strong { color: var(--zcp-service-ink); font-size: 17px; }
.zcp-service-order__head > p { display: grid; gap: 2px; margin: 0; color: var(--zcp-service-ink); font-size: 15px; font-weight: 900; text-align: end; }
.zcp-service-order__head > p small { color: #8795a6; font-size: 8px; font-weight: 600; }
.zcp-service-order .zcp-configurator { margin: 0; padding: 22px 24px 17px; border: 0; border-radius: 0; background: transparent; }
.zcp-service-order .zcp-configurator__head { margin-bottom: 17px; }
.zcp-service-order .zcp-configurator__head > strong { color: var(--zcp-service-ink); }
.zcp-service-order .zcp-configurator__head > p { color: #738397; }
.zcp-service-order .zcp-field { gap: 9px; padding: 14px; border-color: #dfe7f0; background: #f7f9fb; }
.zcp-service-order .zcp-field__label label { color: #263c56; font-size: 12px; }
.zcp-service-order .zcp-field__description { margin: -3px 0 1px; color: #79899c; font-size: 10px; line-height: 1.7; }
.zcp-service-order .zcp-field__formula [data-zcp-discount] { color: #25835f; font-weight: 800; }
.zcp-service-order .zcp-field__formula { color: #8190a2; font-size: 9px; line-height: 1.7; }
.zcp-service-order .zcp-field input[type="number"],
.zcp-service-order .zcp-field select { min-height: 45px; border-color: #ccd8e5; background: #fff; color: #243950; }
.zcp-service-order .zcp-configurator__total { align-items: center; margin-top: 17px; }
.zcp-service-order .zcp-configurator__total > strong { color: var(--zcp-service-ink); font-size: 25px; }
.zcp-service-order-form { margin: 0; }
.zcp-service-submit { width: calc(100% - 48px) !important; min-height: 60px !important; box-sizing: border-box; display: grid !important; grid-template-columns: 1fr auto; grid-template-rows: auto auto; column-gap: 12px; align-items: center; margin: 0 24px !important; padding: 10px 17px !important; border: 0 !important; border-radius: 15px !important; background: #245fae !important; color: #fff !important; text-align: start; box-shadow: 0 13px 30px rgba(36, 95, 174, .22); }
.zcp-service-submit > span { font-size: 12px; font-weight: 850; }
.zcp-service-submit > small { color: rgba(255, 255, 255, .72); font-size: 9px; font-weight: 500; }
.zcp-service-submit > i { grid-column: 2; grid-row: 1 / 3; font-size: 19px; font-style: normal; }
.zcp-service-submit-note { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 13px 18px 19px !important; color: #738399; font-size: 9px; text-align: center; }
.zcp-service-submit-note > span { color: #23825f; font-weight: 900; }
.zcp-service-unavailable { display: grid; gap: 9px; margin: 22px; padding: 20px; border: 1px solid #e0e7ef; border-radius: 17px; background: #f6f8fa; }
.zcp-service-unavailable strong { color: var(--zcp-service-ink); }
.zcp-service-unavailable p { margin: 0; color: var(--zcp-service-muted); line-height: 1.8; }
.zcp-service-unavailable a { width: max-content; padding: 10px 14px; border-radius: 11px; background: #245fae; color: #fff; text-decoration: none; }

.zcp-service-body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-top: clamp(44px, 7vw, 82px); }
.zcp-service-body > article { min-width: 0; padding: clamp(24px, 3vw, 36px); border: 1px solid var(--zcp-service-line); border-radius: 23px; background: #fff; box-shadow: 0 14px 45px rgba(20, 47, 79, .045); }
.zcp-service-body > article:first-child:last-child { grid-column: 1 / -1; }
.zcp-service-body > article > span { color: var(--zcp-service-blue); font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.zcp-service-body h2 { margin: 8px 0 20px !important; color: var(--zcp-service-ink) !important; font-size: clamp(24px, 3vw, 34px) !important; line-height: 1.25 !important; }
.zcp-service-prose { color: #586a80; line-height: 2; }
.zcp-service-prose > *:first-child { margin-top: 0; }
.zcp-service-deliverables ul,
.zcp-service-process ol { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.zcp-service-deliverables li { display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 8px 11px; border-radius: 12px; background: var(--zcp-service-soft); color: #42566f; }
.zcp-service-deliverables li > i { display: grid; place-items: center; width: 25px; height: 25px; flex: 0 0 auto; border-radius: 8px; background: #e1ecfa; color: #2b6fc9; font-style: normal; font-weight: 900; }
.zcp-service-process li { display: grid; grid-template-columns: 37px 1fr; align-items: center; gap: 11px; min-height: 51px; border-bottom: 1px solid #e7edf3; color: #42566f; }
.zcp-service-process li:last-child { border-bottom: 0; }
.zcp-service-process li > b { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 9px; background: #e8f0fa; color: #2d6fc8; font-size: 10px; }
.zcp-service-contract { grid-column: 1 / -1; }
.zcp-service-contract__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.zcp-service-contract__grid > div { padding: 15px; border: 1px solid #e1e9f2; border-radius: 13px; background: #f7f9fb; }
.zcp-service-contract__grid strong { display: block; margin-bottom: 9px; color: #2a4563; font-size: 11px; }
.zcp-service-contract__grid ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.zcp-service-contract__grid li { position: relative; padding-inline-start: 18px; color: #586c82; font-size: 11px; line-height: 1.65; }
.zcp-service-contract__grid li::before { content: ""; position: absolute; inset-inline-start: 0; top: .72em; width: 6px; height: 6px; border-radius: 50%; background: #4c85ca; }
.zcp-service-fit { grid-column: 1 / -1; }
.zcp-service-fit__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.zcp-service-fit__grid > div { padding: 15px; border: 1px solid #e1e9f2; border-radius: 13px; background: #f7f9fb; }
.zcp-service-fit__grid strong { display: block; margin-bottom: 9px; color: #2a4563; font-size: 11px; }
.zcp-service-fit__grid ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.zcp-service-fit__grid li { position: relative; padding-inline-start: 15px; color: #586c82; font-size: 11px; line-height: 1.65; }
.zcp-service-fit__grid li::before { content: ""; position: absolute; inset-inline-start: 0; top: .72em; width: 6px; height: 6px; border-radius: 50%; background: #82a6d0; }
.zcp-service-faq { grid-column: 1 / -1; }
.zcp-service-faq > div { display: grid; gap: 8px; }
.zcp-service-faq details { border: 1px solid #e1e9f2; border-radius: 13px; background: #f8fafc; }
.zcp-service-faq summary { cursor: pointer; padding: 14px 16px; color: #2b4867; font-size: 12px; font-weight: 800; list-style: none; }
.zcp-service-faq summary::-webkit-details-marker { display: none; }
.zcp-service-faq summary::after { content: "+"; float: left; color: #3978d4; font-size: 17px; line-height: 1; }
.zcp-service-faq details[open] summary::after { content: "−"; }
.zcp-service-faq details p { margin: 0; padding: 0 16px 15px; color: #64778d; font-size: 11px; line-height: 1.9; }
.zcp-service-nav { position: sticky; z-index: 5; inset-block-start: 0; display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 15px; padding: 8px 0; background: rgba(247, 250, 253, .91); backdrop-filter: blur(12px); }
.zcp-service-nav a { display: inline-flex; align-items: center; min-height: 32px; padding: 0 11px; border: 1px solid #dce6f0; border-radius: 999px; background: rgba(255,255,255,.9); color: #5c7188; font-size: 10px; font-weight: 750; text-decoration: none; }
.zcp-service-nav a:hover, .zcp-service-nav a:focus-visible { border-color: #a9c8eb; background: #edf5ff; color: #2f6db3; }
.zcp-service-page .zcp-service-assurance { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 15px; }
.zcp-service-page .zcp-service-assurance > div { min-height: 86px; box-sizing: border-box; padding: 17px; border-color: var(--zcp-service-line); background: rgba(255, 255, 255, .68); }
.zcp-service-page .zcp-service-assurance span { color: var(--zcp-service-blue); }
.zcp-service-page .zcp-service-assurance strong { color: #263a53; font-size: 12px; }
.zcp-service-page .zcp-service-assurance small { color: #718297; font-size: 9px; }

/* Wallet, tickets and account content ------------------------------------ */
.zcp-account-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; margin: 0 0 15px; }
.zcp-wallet-view,
.zcp-ticketing-view,
.zcp-ticket-detail { display: grid; gap: 16px; min-width: 0; }

.zcp-wallet-hero { display: grid; grid-template-columns: .9fr 1.1fr; gap: 17px; padding: 22px; }
.zcp-wallet-balance { display: grid; align-content: center; gap: 7px; }
.zcp-wallet-balance > span { color: #90a2b9; font-size: 11px; font-weight: 700; }
.zcp-wallet-balance > strong { color: #fff; font-size: clamp(29px, 4vw, 43px); line-height: 1.1; overflow-wrap: anywhere; }
.zcp-wallet-balance > small { color: #7f91a8; }
.zcp-topup-form { display: grid; gap: 10px; padding: 17px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 16px; background: rgba(0, 0, 0, .17); }
.zcp-form-title { display: grid; gap: 4px; }
.zcp-form-title strong { color: #fff; font-size: 15px; }
.zcp-form-title span { color: #8294aa; font-size: 10px; }
.zcp-topup-form label { display: grid; gap: 7px; }
.zcp-topup-form label > span { color: #b8c5d5; font-size: 11px; font-weight: 700; }

.zcp-wallet-history,
.zcp-ticketing-head,
.zcp-ticket-create,
.zcp-ticket-list,
.zcp-ticket-detail > header,
.zcp-ticket-reply-form { padding: 21px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 19px; background: rgba(255, 255, 255, .035); }

.zcp-wallet-history > header,
.zcp-dashboard-section > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 13px; }
.zcp-wallet-history > header > div,
.zcp-dashboard-section > header > div { display: grid; gap: 3px; }
.zcp-wallet-history > header span,
.zcp-dashboard-section > header span { color: #8395ab; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.zcp-wallet-history > header strong,
.zcp-dashboard-section > header strong { color: #fff; font-size: 17px; }
.zcp-wallet-history > header small { color: #73849a; }

.zcp-wallet-table { overflow: auto; border: 1px solid rgba(255, 255, 255, .07); border-radius: 14px; }
.zcp-wallet-table table { width: 100%; margin: 0; border-collapse: collapse; }
.zcp-wallet-table thead { background: rgba(255, 255, 255, .035); }
.zcp-wallet-table th,
.zcp-wallet-table td { padding: 12px; border-bottom: 1px solid rgba(255, 255, 255, .065); text-align: start; white-space: nowrap; }
.zcp-wallet-table th { color: #8293aa; font-size: 10px; }
.zcp-wallet-table td { color: #dbe5f2; font-size: 12px; }
.zcp-wallet-table .is-credit { color: #65d4a4; }
.zcp-wallet-table .is-debit { color: #ff8998; }

.zcp-ticketing-head > span { color: #7caeff; font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.zcp-ticketing-head h2 { margin: 6px 0; color: #fff; }
.zcp-ticketing-head p { margin: 0; color: #8798ad; }
.zcp-ticket-create form,
.zcp-ticket-reply-form { display: grid; gap: 13px; margin: 0; }
.zcp-ticket-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.zcp-ticket-form-grid label,
.zcp-ticket-reply-form label { display: grid; gap: 7px; }
.zcp-ticket-form-grid label > span,
.zcp-ticket-reply-form label > span { color: #b7c4d4; font-size: 11px; font-weight: 700; }
.zcp-ticket-form-grid .wide { grid-column: 1 / -1; }
.zcp-ticket-list > header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.zcp-ticket-list-items { display: grid; }
.zcp-ticket-list-items > a { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 15px; align-items: center; min-height: 62px; padding: 7px 5px; border-top: 1px solid rgba(255, 255, 255, .07); color: inherit; text-decoration: none; }
.zcp-ticket-list-items > a > div { display: grid; gap: 4px; }
.zcp-ticket-list-items strong { color: #e7eef8; }
.zcp-ticket-list-items small,
.zcp-ticket-list-items time { color: #77899f; font-size: 10px; }
.zcp-ticket-status { display: inline-flex; align-items: center; width: max-content; min-height: 26px; padding: 2px 9px; border: 1px solid rgba(255, 255, 255, .11); border-radius: 99px; color: #c5d1e0; font-size: 10px; font-weight: 700; }
.zcp-ticket-status.is-awaiting-team,
.zcp-ticket-status.is-open { border-color: rgba(225, 170, 68, .27); background: rgba(225, 170, 68, .1); }
.zcp-ticket-status.is-awaiting-customer { border-color: rgba(79, 140, 255, .28); background: rgba(79, 140, 255, .11); }
.zcp-ticket-status.is-closed { opacity: .58; }
.zcp-ticket-detail > header { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.zcp-ticket-detail > header h2 { margin: 4px 0 0; color: #fff; }
.zcp-ticket-detail > header small { color: #7d8da2; }
.zcp-ticket-thread { display: grid; gap: 11px; }
.zcp-ticket-message { max-width: 86%; padding: 15px 17px; border: 1px solid rgba(255, 255, 255, .09); border-radius: 17px; color: #dce6f3; line-height: 1.8; }
.zcp-ticket-message.is-customer { margin-inline-start: auto; border-end-end-radius: 6px; background: rgba(79, 140, 255, .09); }
.zcp-ticket-message.is-team { margin-inline-end: auto; border-end-start-radius: 6px; background: rgba(255, 255, 255, .04); }
.zcp-ticket-message header { display: flex; gap: 15px; justify-content: space-between; margin-bottom: 7px; }
.zcp-ticket-message time { color: #73849a; font-size: 10px; }
.zcp-ticket-message p { margin: 0; }
.zcp-ticket-back { color: #aebcd0; text-decoration: none; }
.zcp-ticket-reply-form textarea { min-height: 125px; resize: vertical; }
.zcp-empty-state { display: grid; place-items: center; min-height: 145px; padding: 24px; color: #8091a7; text-align: center; }
.zcp-empty-state strong { margin-bottom: 5px; color: #dbe5f2; }

/* Customer application ---------------------------------------------------- */
body.zandino-account-app {
    --zcp-app-bg: #06111f;
    --zcp-app-sidebar: #081827;
    --zcp-app-surface: #0d2034;
    --zcp-app-surface-2: #122a43;
    --zcp-app-line: rgba(142, 180, 231, .12);
    --zcp-app-muted: #8295ad;
    --zcp-app-text: #f3f7fc;
    --zcp-app-accent: #3d78c5;
    margin: 0;
    overflow-x: hidden;
    overflow-x: clip;
    background: var(--zcp-app-bg);
    color: var(--zcp-app-text);
}

body.zandino-account-app .z36-header,
body.zandino-account-app .z36-footer,
body.zandino-account-authenticated .site-header,
body.zandino-account-authenticated .site-footer,
body.zandino-account-authenticated .elementor-location-header,
body.zandino-account-authenticated .elementor-location-footer { display: none !important; }
body.zandino-account-app .z36-commerce-main { min-height: 100vh; background: var(--zcp-app-bg); }
body.zandino-account-app .z36-commerce-shell { min-height: 100vh; padding: 0 !important; direction: inherit; }
body.zandino-account-app .z36-commerce-shell > .z36-container { width: 100%; max-width: none; padding: 0; }
body.zandino-account-app .z36-commerce-shell .woocommerce { display: block !important; }
body.zandino-account-authenticated #page,
body.zandino-account-authenticated #content,
body.zandino-account-authenticated #primary,
body.zandino-account-authenticated .site-content,
body.zandino-account-authenticated .site-main,
body.zandino-account-authenticated .entry-content,
body.zandino-account-authenticated .woocommerce { width: 100% !important; max-width: none !important; min-height: 0; box-sizing: border-box; margin: 0 !important; padding: 0 !important; }

.zcp-account-app {
    position: relative;
    z-index: 20;
    width: 100vw;
    max-width: none;
    min-height: 100vh;
    box-sizing: border-box;
    margin-inline: calc(50% - 50vw);
    display: grid;
    grid-template-columns: 282px minmax(0, 1fr);
    background:
        radial-gradient(circle at 76% -20%, rgba(58, 126, 232, .15), transparent 34%),
        var(--zcp-app-bg);
    color: var(--zcp-app-text);
    font-family: Vazirmatn, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Arial, sans-serif;
}

.zcp-account-sidebar {
    position: sticky;
    inset-block-start: 0;
    z-index: 40;
    display: flex;
    flex-direction: column;
    height: 100vh;
    box-sizing: border-box;
    overflow-y: auto;
    padding: 21px 17px 17px;
    border-inline-end: 1px solid var(--zcp-app-line);
    background: rgba(8, 24, 39, .94);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    overscroll-behavior: contain;
}

.zcp-account-sidebar__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; }
.zcp-account-brand { display: inline-flex; align-items: center; gap: 9px; color: #fff !important; text-decoration: none !important; }
.zcp-account-brand__mark { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(126, 180, 255, .28); border-radius: 11px; background: #123768; color: #fff; font-size: 15px; font-weight: 950; box-shadow: 0 9px 26px rgba(0, 0, 0, .16); }
.zcp-account-brand__text { font-size: 15px; font-weight: 900; letter-spacing: .04em; }
.zcp-account-brand__logo { display: block; width: auto; max-width: 142px; height: 38px; object-fit: contain; }
.zcp-account-nav-close { display: none; width: 38px; height: 38px; border: 1px solid var(--zcp-app-line); border-radius: 11px; background: rgba(255, 255, 255, .035); color: #d7e2ee; font-size: 22px; }

.zcp-account-profile { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 11px; margin: 23px 0 18px; padding: 13px; border: 1px solid var(--zcp-app-line); border-radius: 16px; background: rgba(255, 255, 255, .028); }
.zcp-account-profile__avatar { display: block; width: 48px !important; height: 48px !important; border: 1px solid rgba(130, 180, 248, .2); border-radius: 14px !important; }
.zcp-account-profile > div { min-width: 0; display: grid; gap: 3px; }
.zcp-account-profile strong { overflow: hidden; color: #f3f7fc; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.zcp-account-profile span { overflow: hidden; color: var(--zcp-app-muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; direction: ltr; text-align: start; }

.zcp-account-nav { display: grid; gap: 3px; }
.zcp-account-nav__label { padding: 0 10px 7px; color: #60758e; font-size: 8px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.zcp-account-nav__item { display: flex; align-items: center; gap: 9px; min-height: 47px; padding: 5px 7px; border: 1px solid transparent; border-radius: 13px; color: #9fb0c4 !important; text-decoration: none !important; font-size: 11px; font-weight: 700; transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease; }
.zcp-account-nav__item:hover { border-color: rgba(130, 178, 241, .1); background: rgba(255, 255, 255, .035); color: #e9f1fb !important; transform: translateX(-2px); }
.zcp-account-nav__item.is-active { border-color: rgba(108, 164, 244, .22); background: linear-gradient(90deg, rgba(41, 104, 204, .26), rgba(41, 104, 204, .11)); color: #fff !important; }
.zcp-account-nav__icon { position: relative; width: 31px; height: 31px; flex: 0 0 auto; border-radius: 10px; background: rgba(255, 255, 255, .045); }
.zcp-account-nav__item.is-active .zcp-account-nav__icon { background: rgba(79, 140, 255, .2); color: #b7d3ff; }
.zcp-account-nav__icon::before,
.zcp-account-nav__icon::after { content: ""; position: absolute; inset: 9px; box-sizing: border-box; border: 1.6px solid currentColor; border-radius: 4px; opacity: .9; }
.zcp-account-nav__icon[data-icon="wallet"]::before { inset: 9px 7px; }
.zcp-account-nav__icon[data-icon="wallet"]::after { inset: 13px 6px 13px auto; width: 6px; border-radius: 2px; background: currentColor; }
.zcp-account-nav__icon[data-icon="orders"]::before { inset: 7px 9px; border-radius: 2px; }
.zcp-account-nav__icon[data-icon="orders"]::after { inset: 12px 12px auto; height: 1px; border: 0; border-top: 1.6px solid currentColor; box-shadow: 0 5px 0 currentColor; }
.zcp-account-nav__icon[data-icon="services"]::before { inset: 7px 13px 13px 7px; border-radius: 4px; }
.zcp-account-nav__icon[data-icon="services"]::after { inset: 13px 7px 7px 13px; border-radius: 4px; background: rgba(255, 255, 255, .025); }
.zcp-account-nav__icon[data-icon="user"]::before { inset: 7px 11px 14px; border-radius: 50%; }
.zcp-account-nav__icon[data-icon="user"]::after { inset: 17px 8px 7px; border-radius: 8px 8px 4px 4px; }
.zcp-account-nav__icon[data-icon="support"]::before { inset: 8px; border-radius: 50%; }
.zcp-account-nav__icon[data-icon="support"]::after { inset: 13px; border-radius: 50%; border-style: dashed; }
.zcp-account-nav__icon[data-icon="home"]::before { inset: 10px 9px 8px; border-radius: 3px; }
.zcp-account-nav__icon[data-icon="home"]::after { inset: 7px 10px 15px; border-inline-end: 0; border-block-end: 0; border-radius: 1px; transform: rotate(45deg); }
.zcp-account-nav__icon[data-icon="logout"]::before { inset: 8px 12px 8px 7px; border-radius: 3px; }
.zcp-account-nav__icon[data-icon="logout"]::after { inset: 14px 5px auto auto; width: 11px; height: 1px; border: 0; border-top: 1.6px solid currentColor; }

.zcp-account-sidebar__footer { display: grid; gap: 9px; margin-top: auto; padding: 18px 8px 2px; }
.zcp-account-sidebar__footer a { display: inline-flex; align-items: center; gap: 7px; color: #d6e1ee !important; text-decoration: none !important; font-size: 10px; font-weight: 700; }
.zcp-account-sidebar__footer small { color: #61758e; font-size: 8px; }

.zcp-account-main { min-width: 0; }
.zcp-account-topbar { position: sticky; inset-block-start: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 82px; box-sizing: border-box; padding: 12px clamp(20px, 3vw, 40px); border-bottom: 1px solid var(--zcp-app-line); background: rgba(6, 17, 31, .82); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.zcp-account-topbar__title { display: flex; align-items: center; gap: 12px; min-width: 0; }
.zcp-account-topbar__title > div { min-width: 0; flex: 1; }
.zcp-account-topbar__title > div > span { color: #6e84a0; font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.zcp-account-topbar h1 { overflow: hidden; margin: 3px 0 0 !important; color: #f3f7fc !important; font-size: clamp(20px, 2.4vw, 27px) !important; line-height: 1.2 !important; font-weight: 820 !important; text-overflow: ellipsis; white-space: nowrap; }
.zcp-account-topbar__actions { display: flex; align-items: center; gap: 11px; }
.zcp-account-topbar__actions > a { display: inline-flex; align-items: center; min-height: 38px; padding: 0 13px; border: 1px solid var(--zcp-app-line); border-radius: 11px; color: #d4dfec !important; text-decoration: none !important; font-size: 10px; font-weight: 750; }
.zcp-account-topbar__avatar img { display: block; width: 36px !important; height: 36px !important; border-radius: 11px !important; }
.zcp-account-menu-toggle { display: none; width: 42px; height: 42px; padding: 10px; border: 1px solid var(--zcp-app-line); border-radius: 12px; background: rgba(255, 255, 255, .035); color: #fff; }
.zcp-account-menu-toggle > span { display: block; height: 1.5px; margin: 4px 0; border-radius: 2px; background: currentColor; }

.zcp-account-content { width: min(100%, 1380px); box-sizing: border-box; margin: 0 auto; padding: clamp(20px, 3vw, 38px) clamp(18px, 3vw, 42px) 64px; }
.zcp-account-content > .woocommerce-notices-wrapper { display: grid; gap: 8px; margin-bottom: 15px; }
.zcp-account-content .woocommerce-message,
.zcp-account-content .woocommerce-info,
.zcp-account-content .woocommerce-error { margin: 0 !important; padding: 13px 15px !important; border: 1px solid var(--zcp-app-line) !important; border-radius: 13px !important; background: var(--zcp-app-surface) !important; color: #dbe7f4 !important; font-size: 11px; line-height: 1.7; }
.zcp-account-content .woocommerce-error { border-color: rgba(224, 115, 129, .3) !important; background: rgba(120, 35, 53, .2) !important; }
.zcp-account-content .woocommerce-MyAccount-navigation { display: none !important; }
.zcp-account-content .woocommerce-MyAccount-content { float: none !important; width: auto !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }

.zcp-dashboard-hero { position: relative; overflow: hidden; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; min-height: 190px; box-sizing: border-box; margin-bottom: 15px; padding: clamp(25px, 4vw, 39px); border: 1px solid rgba(112, 165, 240, .16); border-radius: 24px; background: linear-gradient(130deg, rgba(41, 106, 212, .24), rgba(255, 255, 255, .025) 52%, rgba(255, 255, 255, .012)); box-shadow: 0 30px 80px rgba(0, 0, 0, .15); }
.zcp-dashboard-hero::after { content: ""; position: absolute; inset: auto -110px -190px auto; width: 330px; height: 330px; border: 1px solid rgba(107, 164, 245, .22); border-radius: 50%; box-shadow: 0 0 0 70px rgba(66, 130, 228, .035); pointer-events: none; }
.zcp-dashboard-hero > div { position: relative; z-index: 1; max-width: 720px; }
.zcp-dashboard-hero > div > span { color: #80b2ff; font-size: 9px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.zcp-dashboard-hero h2 { margin: 7px 0 10px !important; color: #fff !important; font-size: clamp(28px, 4vw, 43px) !important; line-height: 1.1 !important; letter-spacing: -.03em; }
.zcp-dashboard-hero p { max-width: 670px; margin: 0; color: #9caec3; font-size: 12px; line-height: 1.85; }
.zcp-dashboard-hero__action { position: relative; z-index: 1; flex: 0 0 auto; display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 17px; border-radius: 14px; background: var(--zcp-app-accent); color: #fff !important; text-decoration: none !important; font-size: 11px; font-weight: 850; box-shadow: 0 12px 30px rgba(37, 99, 235, .23); }

.zcp-account-cards > a { position: relative; overflow: hidden; display: grid; align-content: space-between; min-height: 130px; box-sizing: border-box; padding: 18px; border: 1px solid var(--zcp-app-line); border-radius: 18px; background: var(--zcp-app-surface); color: var(--zcp-app-text) !important; text-decoration: none !important; transition: transform .17s ease, border-color .17s ease, background .17s ease; }
.zcp-account-cards > a::after { content: "↗"; position: absolute; inset: 15px auto auto 15px; color: #687e99; font-size: 11px; }
.zcp-account-cards > a:hover { border-color: rgba(92, 153, 240, .32); background: var(--zcp-app-surface-2); transform: translateY(-2px); }
.zcp-account-cards span { color: #8294aa; font-size: 9px; font-weight: 700; }
.zcp-account-cards strong { margin-top: auto; color: #fff; font-size: clamp(21px, 2.5vw, 29px); }
.zcp-account-cards small { color: #6f8299; font-size: 8px; }

.zcp-dashboard-section,
.zcp-wallet-history,
.zcp-wallet-hero,
.zcp-ticket-create,
.zcp-ticket-list,
.zcp-ticket-detail > header,
.zcp-ticket-reply-form { border-color: var(--zcp-app-line) !important; background: var(--zcp-app-surface) !important; box-shadow: none !important; }
.zcp-dashboard-section { padding: 20px; border: 1px solid var(--zcp-app-line); border-radius: 20px; }
.zcp-dashboard-section > header > a { color: #8bb8ff !important; text-decoration: none !important; font-size: 10px; font-weight: 750; }
.zcp-recent-orders { display: grid; }
.zcp-recent-orders > a { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 64px; padding: 11px 8px; border-block-start: 1px solid var(--zcp-app-line); color: inherit !important; text-decoration: none !important; }
.zcp-recent-orders > a > div { display: grid; gap: 4px; }
.zcp-recent-orders > a > div:last-child { text-align: end; }
.zcp-recent-orders strong { color: #eaf1fa; font-size: 11px; }
.zcp-recent-orders span { color: #8192a8; font-size: 9px; }

/* My services ------------------------------------------------------------ */
.zcp-services-view { display: grid; gap: 16px; min-width: 0; }
.zcp-services-head { position: relative; overflow: hidden; display: flex; align-items: end; justify-content: space-between; gap: 25px; min-height: 168px; box-sizing: border-box; padding: clamp(24px, 3.5vw, 38px); border: 1px solid var(--zcp-app-line); border-radius: 23px; background: linear-gradient(135deg, rgba(54, 115, 192, .23), rgba(15, 39, 64, .85) 60%, #0c1e31); }
.zcp-services-head::after { content: ""; position: absolute; inset: -120px -90px auto auto; width: 290px; height: 290px; border: 1px solid rgba(129, 178, 240, .13); border-radius: 50%; box-shadow: 0 0 0 55px rgba(75, 134, 208, .025); }
.zcp-services-head > div { position: relative; z-index: 1; max-width: 720px; }
.zcp-services-head > div > span { color: #83afe7; font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.zcp-services-head h2 { margin: 7px 0 8px !important; color: #fff !important; font-size: clamp(29px, 4vw, 43px) !important; line-height: 1.15 !important; }
.zcp-services-head p { margin: 0; color: #95a9bf; font-size: 11px; line-height: 1.8; }
.zcp-services-head > a { position: relative; z-index: 1; flex: 0 0 auto; display: inline-flex; align-items: center; gap: 9px; min-height: 45px; padding: 0 15px; border: 1px solid rgba(255, 255, 255, .11); border-radius: 13px; background: rgba(255, 255, 255, .06); color: #edf4fc !important; text-decoration: none !important; font-size: 10px; font-weight: 800; }
.zcp-service-order-list { display: grid; gap: 11px; }
.zcp-service-order-card { padding: 20px; border: 1px solid var(--zcp-app-line); border-radius: 20px; background: var(--zcp-app-surface); }
.zcp-service-order-card__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.zcp-service-order-card__identity { display: flex; align-items: center; gap: 12px; min-width: 0; }
.zcp-service-order-card__mark { display: grid; place-items: center; width: 43px; height: 43px; flex: 0 0 auto; border: 1px solid rgba(127, 174, 233, .17); border-radius: 13px; background: #173d67; color: #eaf3fe; font-size: 15px; font-weight: 950; }
.zcp-service-order-card__identity > div { min-width: 0; display: grid; gap: 3px; }
.zcp-service-order-card__identity small { color: #71869e; font-size: 8px; }
.zcp-service-order-card h3 { overflow: hidden; margin: 0 !important; color: #edf3fa !important; font-size: 17px !important; line-height: 1.4 !important; text-overflow: ellipsis; white-space: nowrap; }
.zcp-service-status { display: inline-flex; align-items: center; min-height: 28px; padding: 2px 10px; border: 1px solid rgba(128, 159, 198, .16); border-radius: 999px; background: rgba(255, 255, 255, .03); color: #b6c3d3; font-size: 9px; font-weight: 750; white-space: nowrap; }
.zcp-service-status.is-processing,
.zcp-service-status.is-completed { border-color: rgba(77, 174, 133, .22); background: rgba(47, 139, 99, .09); color: #86c8a8; }
.zcp-service-status.is-pending,
.zcp-service-status.is-on-hold { border-color: rgba(199, 155, 75, .22); background: rgba(180, 127, 42, .08); color: #d7b77d; }
.zcp-service-status.is-cancelled,
.zcp-service-status.is-failed,
.zcp-service-status.is-refunded { opacity: .62; }
.zcp-service-scope { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 17px 0 0; }
.zcp-service-scope > div { min-width: 0; display: grid; gap: 4px; padding: 10px 11px; border: 1px solid rgba(255, 255, 255, .055); border-radius: 11px; background: rgba(255, 255, 255, .018); }
.zcp-service-scope dt { overflow: hidden; color: #71859c; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.zcp-service-scope dd { overflow: hidden; margin: 0; color: #dbe5f1; font-size: 10px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.zcp-service-fixed-scope { margin: 17px 0 0; color: #7c8ea3; font-size: 10px; }
.zcp-service-order-card > footer { display: grid; grid-template-columns: auto auto minmax(230px, 1fr); align-items: end; gap: 28px; margin-top: 17px; padding-top: 15px; border-top: 1px solid var(--zcp-app-line); }
.zcp-service-order-card > footer > div:not(.zcp-service-order-card__actions) { display: grid; gap: 3px; }
.zcp-service-order-card > footer small { color: #71859c; font-size: 8px; }
.zcp-service-order-card > footer strong { color: #dfe8f3; font-size: 11px; }
.zcp-service-order-card__actions { display: flex; justify-content: end; gap: 7px; }
.zcp-service-order-card__actions > a { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 12px; border: 1px solid var(--zcp-app-line); border-radius: 10px; color: #cbd7e5 !important; text-decoration: none !important; font-size: 9px; font-weight: 750; }
.zcp-service-order-card__actions > a.is-primary { border-color: transparent; background: var(--zcp-app-accent); color: #fff !important; }
.zcp-services-empty { display: grid; place-items: center; min-height: 310px; box-sizing: border-box; padding: 35px 20px; border: 1px dashed rgba(128, 166, 215, .18); border-radius: 22px; background: rgba(255, 255, 255, .018); text-align: center; }
.zcp-services-empty > span { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 12px; border: 1px solid rgba(113, 163, 227, .18); border-radius: 17px; background: rgba(60, 122, 202, .1); color: #8bb7ee; font-size: 25px; }
.zcp-services-empty h3 { margin: 0 0 7px !important; color: #eaf1fa !important; font-size: 20px !important; }
.zcp-services-empty p { max-width: 570px; margin: 0; color: #8295aa; font-size: 10px; line-height: 1.8; }
.zcp-services-empty a { display: inline-flex; align-items: center; min-height: 42px; margin-top: 18px; padding: 0 15px; border-radius: 12px; background: var(--zcp-app-accent); color: #fff !important; text-decoration: none !important; font-size: 10px; font-weight: 800; }

.zcp-account-content table.shop_table { width: 100%; overflow: hidden; border: 1px solid var(--zcp-app-line) !important; border-radius: 18px !important; background: var(--zcp-app-surface) !important; }
.zcp-account-content table.shop_table th,
.zcp-account-content table.shop_table td { padding: 14px !important; border-color: var(--zcp-app-line) !important; }
.zcp-account-content table.shop_table th { color: #8394aa; font-size: 9px; }
.zcp-account-content table.shop_table td { color: #dbe5f1; }
.zcp-account-content fieldset { margin: 20px 0 !important; padding: 18px !important; border: 1px solid var(--zcp-app-line) !important; border-radius: 16px; background: rgba(255, 255, 255, .018); }
.zcp-account-content legend { padding: 0 8px; color: #dce6f2; font-weight: 800; }

.zcp-account-content input.input-text,
.zcp-account-content textarea,
.zcp-account-content select,
.zcp-topup-form input,
.zcp-ticket-form-grid input,
.zcp-ticket-form-grid textarea,
.zcp-ticket-reply-form textarea { min-height: 48px !important; box-sizing: border-box; padding: 10px 12px !important; border: 1px solid rgba(147, 177, 216, .16) !important; border-radius: 12px !important; background: #0a1929 !important; color: #fff !important; }
.zcp-account-content input:focus,
.zcp-account-content textarea:focus,
.zcp-account-content select:focus,
.zcp-topup-form input:focus,
.zcp-ticket-form-grid input:focus,
.zcp-ticket-form-grid textarea:focus,
.zcp-ticket-reply-form textarea:focus { outline: 0 !important; border-color: var(--zcp-app-accent) !important; box-shadow: 0 0 0 3px rgba(79, 140, 255, .13) !important; }
.zcp-account-content .button,
.zcp-wallet-view .button,
.zcp-ticketing-view .button,
.zcp-ticket-detail .button { display: inline-flex !important; align-items: center; justify-content: center; min-height: 42px !important; padding: 0 14px !important; border: 1px solid var(--zcp-app-line) !important; border-radius: 12px !important; background: rgba(255, 255, 255, .055) !important; color: #fff !important; font-weight: 750 !important; }
.zcp-account-content .button.alt,
.zcp-account-content button[name="save_account_details"],
.zcp-primary-action,
.zcp-auth-submit { border-color: transparent !important; background: var(--zcp-app-accent) !important; color: #fff !important; }
.zcp-account-content a { color: inherit; }
.zcp-account-content a:focus-visible,
.zcp-account-sidebar a:focus-visible,
.zcp-account-topbar a:focus-visible,
.zcp-account-menu-toggle:focus-visible,
.zcp-account-nav-close:focus-visible { outline: 2px solid #70a7ff; outline-offset: 3px; }
.zcp-account-overlay { display: none; }

/* Authentication ---------------------------------------------------------- */
body.zandino-account-guest .z36-commerce-main { display: grid; min-height: 100vh; }
.zcp-auth-shell { position: relative; min-height: 100vh; box-sizing: border-box; display: grid; grid-template-columns: minmax(280px, .82fr) minmax(520px, 1.18fr); gap: clamp(30px, 5vw, 80px); align-items: center; padding: clamp(28px, 5vw, 70px); background: radial-gradient(circle at 12% 9%, rgba(60, 132, 240, .18), transparent 30%), radial-gradient(circle at 90% 80%, rgba(255, 255, 255, .04), transparent 25%), var(--zcp-app-bg); }
.zcp-auth-brand { position: absolute; inset-block-start: 30px; inset-inline-start: clamp(28px, 5vw, 70px); }
.zcp-auth-intro { max-width: 580px; }
.zcp-auth-intro > span,
.zcp-auth-card > header > span { color: #7eb1ff; font-size: 9px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.zcp-auth-intro h1 { margin: 10px 0 15px !important; color: #fff !important; font-size: clamp(36px, 5vw, 64px) !important; line-height: 1.03 !important; letter-spacing: -.045em; }
.zcp-auth-intro p { max-width: 540px; margin: 0; color: #91a4bb; font-size: 12px; line-height: 1.9; }
.zcp-auth-points { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.zcp-auth-points span { padding: 8px 10px; border: 1px solid var(--zcp-app-line); border-radius: 999px; background: rgba(255, 255, 255, .025); color: #bdcbdb; font-size: 9px; }
.zcp-auth-panels { display: grid; grid-template-columns: 1fr; gap: 12px; width: min(100%, 720px); justify-self: end; }
.zcp-auth-panels.has-register { grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, 920px); }
.zcp-auth-card { box-sizing: border-box; padding: clamp(22px, 3vw, 31px); border: 1px solid var(--zcp-app-line); border-radius: 24px; background: rgba(11, 31, 50, .86); box-shadow: 0 40px 100px rgba(0, 0, 0, .27); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
.zcp-auth-card > header { margin-bottom: 20px; }
.zcp-auth-card > header h1,
.zcp-auth-card > header h2 { margin: 6px 0 0 !important; color: #fff !important; font-size: clamp(24px, 3vw, 32px) !important; line-height: 1.2; }
.zcp-auth-card > header p { margin: 9px 0 0; color: var(--zcp-app-muted); font-size: 10px; line-height: 1.7; }
.zcp-auth-form { display: grid; gap: 13px; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
.zcp-auth-form > label { display: grid; gap: 6px; }
.zcp-auth-form > label > span { color: #b9c7d7; font-size: 10px; font-weight: 700; }
.zcp-auth-form input[type="text"],
.zcp-auth-form input[type="email"],
.zcp-auth-form input[type="password"] { width: 100%; min-height: 50px; box-sizing: border-box; padding: 10px 13px; border: 1px solid rgba(145, 176, 215, .17) !important; border-radius: 13px !important; background: #091827 !important; color: #fff !important; font-size: 14px; }
.zcp-auth-form input:focus { outline: 0; border-color: var(--zcp-app-accent) !important; box-shadow: 0 0 0 3px rgba(79, 140, 255, .13) !important; }
.zcp-auth-form__meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 10px; }
.zcp-auth-form__meta a,
.zcp-auth-back { color: #c6d2e0 !important; text-decoration: none !important; }
.zcp-check { display: flex !important; align-items: center; gap: 7px !important; }
.zcp-check input { accent-color: var(--zcp-app-accent); }
.zcp-auth-submit { width: 100% !important; min-height: 50px !important; display: inline-flex !important; align-items: center; justify-content: center; margin-top: 2px !important; border-radius: 13px !important; }
.zcp-auth-note,
.zcp-auth-privacy { color: var(--zcp-app-muted); font-size: 9px; line-height: 1.75; }
.zcp-auth-privacy p { margin: 0; }
.zcp-auth-shell--single { grid-template-columns: 1fr; place-items: center; }
.zcp-auth-shell--single .zcp-auth-panels { width: min(100%, 500px); justify-self: center; }
.zcp-auth-back { margin-top: 2px; text-align: center; font-size: 10px; }

/* Service checkout -------------------------------------------------------- */
body.zandino-service-checkout .woocommerce-billing-fields__field-wrapper,
body.zandino-service-checkout .woocommerce-additional-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
body.zandino-service-checkout .form-row { float: none !important; width: auto !important; margin: 0 !important; }
body.zandino-service-checkout #billing_email_field,
body.zandino-service-checkout #billing_phone_field,
body.zandino-service-checkout #order_comments_field { grid-column: 1 / -1; }
body.zandino-service-checkout .shipping_address,
body.zandino-service-checkout #ship-to-different-address { display: none !important; }

.zcp-service-submit.is-loading { opacity: .72; pointer-events: none; }

@media (max-width: 1180px) {
    .zcp-account-app { grid-template-columns: 250px minmax(0, 1fr); }
    .zcp-account-sidebar { padding-inline: 14px; }
    .zcp-account-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zcp-auth-shell { grid-template-columns: 1fr; align-content: center; }
    .zcp-auth-intro { display: none; }
    .zcp-auth-panels,
    .zcp-auth-panels.has-register { width: min(100%, 900px); justify-self: center; }
}

@media (max-width: 960px) {
    html.zcp-account-lock { overflow: hidden; }
    .zcp-account-app { display: block; }
    .zcp-account-sidebar { position: fixed; inset-block: 0; inset-inline-start: 0; width: min(84vw, 300px); height: 100dvh; border-inline-end: 1px solid var(--zcp-app-line); box-shadow: 0 30px 90px rgba(0, 0, 0, .43); transform: translateX(110%); transition: transform .22s ease; }
    html[dir="ltr"] .zcp-account-sidebar { transform: translateX(-110%); }
    .zcp-account-app.is-nav-open .zcp-account-sidebar { transform: translateX(0); }
    .zcp-account-overlay { position: fixed; z-index: 35; inset: 0; display: block; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(0, 5, 13, .68); opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility .2s ease; }
    .zcp-account-app.is-nav-open .zcp-account-overlay { opacity: 1; visibility: visible; }
    .zcp-account-nav-close,
    .zcp-account-menu-toggle { display: block; }
    .zcp-account-topbar__actions > a { display: none; }
    .zcp-account-content { padding-top: 22px; }
    .zcp-dashboard-hero { align-items: flex-start; flex-direction: column; }
    .zcp-dashboard-hero__action { min-height: 44px; }
    .zcp-auth-panels.has-register { grid-template-columns: 1fr; max-width: 560px; }
    .zcp-auth-shell { padding-top: 92px; }
    .zcp-service-visual { min-height: 500px; }
    .zcp-service-hero { grid-template-columns: 1fr; }
    .zcp-service-order { position: static; }
    .zcp-service-body { margin-top: 28px; }
    .zcp-service-scope { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    .zcp-service-facts,
    .zcp-service-assurance,
    .zcp-service-details__grid,
    .zcp-wallet-hero,
    .zcp-ticket-form-grid,
    body.zandino-service-checkout .woocommerce-billing-fields__field-wrapper,
    body.zandino-service-checkout .woocommerce-additional-fields__field-wrapper { grid-template-columns: 1fr; }
    body.zandino-service-checkout #billing_email_field,
    body.zandino-service-checkout #billing_phone_field,
    body.zandino-service-checkout #order_comments_field { grid-column: auto; }
    .zcp-ticket-form-grid .wide { grid-column: auto; }
    .zcp-service-body,
    .zcp-service-page .zcp-service-assurance { grid-template-columns: 1fr; }
    .zcp-services-head { align-items: flex-start; flex-direction: column; }
    .zcp-service-order-card > footer { grid-template-columns: 1fr 1fr; gap: 14px; }
    .zcp-service-order-card__actions { grid-column: 1 / -1; justify-content: stretch; }
    .zcp-service-order-card__actions > a { flex: 1; }
}

@media (max-width: 640px) {
    .zcp-account-topbar { min-height: 70px; padding: 10px 14px; }
    .zcp-account-topbar h1 { font-size: 19px !important; }
    .zcp-account-topbar__avatar { display: none; }
    .zcp-account-content { padding: 14px 12px 45px; }
    .zcp-dashboard-hero { min-height: 0; padding: 22px 18px; border-radius: 19px; }
    .zcp-dashboard-hero h2 { font-size: 29px !important; }
    .zcp-dashboard-hero__action { width: 100%; box-sizing: border-box; justify-content: center; }
    .zcp-account-cards { grid-template-columns: 1fr 1fr; gap: 8px; }
    .zcp-account-cards > a { min-height: 108px; padding: 14px; border-radius: 15px; }
    .zcp-account-cards > a::after { inset: 12px auto auto 12px; }
    .zcp-dashboard-section,
    .zcp-wallet-history,
    .zcp-wallet-hero,
    .zcp-ticket-create,
    .zcp-ticket-list,
    .zcp-ticket-detail > header,
    .zcp-ticket-reply-form { padding: 16px !important; border-radius: 17px !important; }
    .zcp-wallet-history > header,
    .zcp-dashboard-section > header { align-items: flex-start; flex-direction: column; }
    .zcp-recent-orders > a { min-height: 58px; padding-inline: 2px; }
    .zcp-account-content table.shop_table_responsive thead,
    .zcp-wallet-table thead { display: none; }
    .zcp-account-content table.shop_table_responsive,
    .zcp-account-content table.shop_table_responsive tbody,
    .zcp-account-content table.shop_table_responsive tr,
    .zcp-account-content table.shop_table_responsive td,
    .zcp-wallet-table table,
    .zcp-wallet-table tbody,
    .zcp-wallet-table tr,
    .zcp-wallet-table td { display: block; width: 100%; box-sizing: border-box; }
    .zcp-account-content table.shop_table_responsive,
    .zcp-wallet-table { overflow: visible; border: 0 !important; background: none !important; }
    .zcp-account-content table.shop_table_responsive tbody,
    .zcp-wallet-table tbody { display: grid; gap: 9px; }
    .zcp-account-content table.shop_table_responsive tr,
    .zcp-wallet-table tr { padding: 12px 13px; border: 1px solid var(--zcp-app-line); border-radius: 15px; background: var(--zcp-app-surface); }
    .zcp-account-content table.shop_table_responsive td,
    .zcp-wallet-table td { display: flex !important; justify-content: space-between; gap: 13px; padding: 7px 0 !important; border: 0 !important; text-align: end !important; white-space: normal; }
    .zcp-account-content table.shop_table_responsive td::before,
    .zcp-wallet-table td::before { float: none !important; margin: 0 !important; color: var(--zcp-app-muted); font-size: 10px; font-weight: 700; text-align: start; }
    .zcp-wallet-table td::before { content: attr(data-label); }
    .zcp-account-content input.input-text,
    .zcp-account-content textarea,
    .zcp-account-content select,
    .zcp-topup-form input,
    .zcp-auth-form input { font-size: 16px !important; }
    .zcp-auth-shell { padding: 82px 13px 24px; }
    .zcp-auth-brand { inset-block-start: 22px; inset-inline-start: 18px; }
    .zcp-auth-card { padding: 20px 17px; border-radius: 19px; }
    .zcp-auth-panels { gap: 9px; }
    .zcp-ticket-list-items > a { grid-template-columns: 1fr auto; }
    .zcp-ticket-list-items time { grid-column: 1 / -1; }
    .zcp-ticket-message { max-width: 95%; }
    .zcp-service-visual { min-height: 420px; border-radius: 22px; }
    .zcp-service-visual ul { grid-template-columns: 1fr; }
    .zcp-configurator { padding: 17px; border-radius: 17px; }
    .zcp-configurator__total { align-items: flex-start; flex-direction: column; }
    .zcp-service-shell { width: min(100% - 22px, 1240px); }
    .zcp-service-breadcrumb { margin-bottom: 10px; }
    .zcp-service-intro { padding-top: 8px; }
    .zcp-service-intro h1 { font-size: 37px !important; }
    .zcp-service-lead { font-size: 13px; }
    .zcp-service-page .zcp-service-facts { display: grid; grid-template-columns: 1fr 1fr; }
    .zcp-service-page .zcp-service-facts > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .zcp-service-cover { height: 285px; border-radius: 20px; }
    .zcp-service-order { border-radius: 20px; }
    .zcp-service-order__head { align-items: flex-start; padding: 18px; }
    .zcp-service-order .zcp-configurator { padding: 19px 18px 15px; }
    .zcp-service-submit { width: calc(100% - 36px) !important; margin-inline: 18px !important; }
    .zcp-service-body > article { padding: 21px 18px; border-radius: 19px; }
    .zcp-service-page .zcp-service-assurance > div { min-height: 76px; }
    .zcp-services-head { min-height: 0; padding: 23px 19px; border-radius: 19px; }
    .zcp-services-head h2 { font-size: 30px !important; }
    .zcp-services-head > a { width: 100%; box-sizing: border-box; justify-content: center; }
    .zcp-service-order-card { padding: 15px; border-radius: 17px; }
    .zcp-service-order-card__top { align-items: flex-start; flex-direction: column; }
    .zcp-service-order-card__identity { width: 100%; }
    .zcp-service-order-card h3 { font-size: 15px !important; }
    .zcp-service-scope { grid-template-columns: 1fr; }
    .zcp-service-order-card > footer { grid-template-columns: 1fr; }
    .zcp-service-order-card__actions { grid-column: auto; }
}

@media (max-width: 390px) {
    .zcp-account-cards { grid-template-columns: 1fr; }
    .zcp-account-cards > a { min-height: 92px; }
    .zcp-account-profile { grid-template-columns: 42px minmax(0, 1fr); }
    .zcp-account-profile__avatar { width: 42px !important; height: 42px !important; }
}

@media (prefers-reduced-motion: reduce) {
    .zcp-toggle > span,
    .zcp-toggle > span::after,
    .zcp-account-sidebar,
    .zcp-account-overlay,
    .zcp-account-nav__item,
    .zcp-account-cards > a { transition: none !important; }
    .zcp-account-nav__item:hover,
    .zcp-account-cards > a:hover { transform: none !important; }
}

/* Account workspace refresh ------------------------------------------------
 * The customer panel has its own visual language: a calm light canvas, white
 * cards and one restrained blue action colour. It intentionally does not copy
 * the cinematic home hero or the old neon/dark palette.
 */
body.zandino-account-app {
    --zcp-app-bg: #f3f6fb;
    --zcp-app-sidebar: #ffffff;
    --zcp-app-surface: #ffffff;
    --zcp-app-surface-2: #edf4ff;
    --zcp-app-line: #dce5f0;
    --zcp-app-muted: #6d7d91;
    --zcp-app-text: #1d2d42;
    --zcp-app-accent: #3978d4;
    background: var(--zcp-app-bg) !important;
    color: var(--zcp-app-text) !important;
}
body.zandino-account-app .z36-commerce-main,
body.zandino-account-app .zcp-account-app {
    background: var(--zcp-app-bg) !important;
    color: var(--zcp-app-text) !important;
}
body.zandino-account-app .zcp-account-sidebar {
    background: rgba(255, 255, 255, .96) !important;
    border-color: var(--zcp-app-line) !important;
    box-shadow: 12px 0 35px rgba(31, 64, 105, .05);
}
body.zandino-account-app .zcp-account-brand,
body.zandino-account-app .zcp-account-brand__text { color: #172b45 !important; }
body.zandino-account-app .zcp-account-brand__mark { border-color: #cbdcf4; background: #e8f1ff; color: #3473cd; box-shadow: none; }
body.zandino-account-app .zcp-account-profile { border-color: var(--zcp-app-line); background: #f7f9fc; }
body.zandino-account-app .zcp-account-profile strong { color: #21344d !important; }
body.zandino-account-app .zcp-account-profile span { color: #75859a !important; }
body.zandino-account-app .zcp-account-nav__label { color: #8191a5 !important; }
body.zandino-account-app .zcp-account-nav__item { color: #61738b !important; }
body.zandino-account-app .zcp-account-nav__item:hover { border-color: #d8e5f6; background: #f3f7fc; color: #214d83 !important; }
body.zandino-account-app .zcp-account-nav__item.is-active { border-color: #cfe0f7; background: #eaf3ff; color: #225da7 !important; }
body.zandino-account-app .zcp-account-nav__icon { background: #f0f4f9; color: #6f839c; }
body.zandino-account-app .zcp-account-nav__item.is-active .zcp-account-nav__icon { background: #d8e9ff; color: #3478d4; }
body.zandino-account-app .zcp-account-sidebar__footer a { color: #3e5875 !important; }
body.zandino-account-app .zcp-account-sidebar__footer small { color: #94a2b3; }
body.zandino-account-app .zcp-account-topbar { border-color: var(--zcp-app-line); background: rgba(255, 255, 255, .9); }
body.zandino-account-app .zcp-account-topbar__title > div > span { color: #8191a5; }
body.zandino-account-app .zcp-account-topbar h1 { color: #1c2e45 !important; }
body.zandino-account-app .zcp-account-topbar__actions > a,
body.zandino-account-app .zcp-account-menu-toggle { border-color: var(--zcp-app-line); background: #fff; color: #38516d !important; }
body.zandino-account-app .zcp-dashboard-hero { border-color: #cddff5; background: linear-gradient(130deg, #e7f1ff, #f8fbff 70%); box-shadow: 0 22px 50px rgba(48, 94, 151, .08); }
body.zandino-account-app .zcp-dashboard-hero > div > span,
body.zandino-account-app .zcp-services-head > div > span,
body.zandino-account-app .zcp-dashboard-section > header span,
body.zandino-account-app .zcp-wallet-history > header span { color: #3978d4 !important; }
body.zandino-account-app .zcp-dashboard-hero h2,
body.zandino-account-app .zcp-services-head h2 { color: #18304d !important; }
body.zandino-account-app .zcp-dashboard-hero p,
body.zandino-account-app .zcp-services-head p { color: #61758d !important; }
body.zandino-account-app .zcp-dashboard-hero__action,
body.zandino-account-app .zcp-services-empty a,
body.zandino-account-app .zcp-service-order-card__actions > a.is-primary { background: var(--zcp-app-accent) !important; color: #fff !important; }
body.zandino-account-app .zcp-account-cards > a,
body.zandino-account-app .zcp-dashboard-section,
body.zandino-account-app .zcp-wallet-history,
body.zandino-account-app .zcp-wallet-hero,
body.zandino-account-app .zcp-ticket-create,
body.zandino-account-app .zcp-ticket-list,
body.zandino-account-app .zcp-ticket-detail > header,
body.zandino-account-app .zcp-ticket-reply-form,
body.zandino-account-app .zcp-service-order-card { border-color: var(--zcp-app-line) !important; background: #fff !important; box-shadow: 0 12px 30px rgba(37, 70, 110, .045) !important; }
body.zandino-account-app .zcp-account-cards > a:hover { border-color: #bed5f3; background: #f8fbff !important; }
body.zandino-account-app .zcp-account-cards span,
body.zandino-account-app .zcp-account-cards small,
body.zandino-account-app .zcp-recent-orders span,
body.zandino-account-app .zcp-service-order-card__identity small,
body.zandino-account-app .zcp-service-order-card > footer small { color: #71839a !important; }
body.zandino-account-app .zcp-account-cards strong,
body.zandino-account-app .zcp-recent-orders strong,
body.zandino-account-app .zcp-service-order-card h3,
body.zandino-account-app .zcp-service-order-card > footer strong { color: #1e3550 !important; }
body.zandino-account-app .zcp-dashboard-section > header > a { color: #3978d4 !important; }
body.zandino-account-app .zcp-services-head { border-color: #cddff5; background: linear-gradient(135deg, #e9f2ff, #f9fbfe 72%); }
body.zandino-account-app .zcp-services-head > a { border-color: #cbdcf1; background: #fff; color: #2f5e96 !important; }
body.zandino-account-app .zcp-service-order-card__mark { border-color: #cfe0f4; background: #eaf3ff; color: #3478d4; }
body.zandino-account-app .zcp-service-scope > div { border-color: #e1e8f1; background: #f8fafc; }
body.zandino-account-app .zcp-service-scope dt,
body.zandino-account-app .zcp-service-fixed-scope { color: #74869b !important; }
body.zandino-account-app .zcp-service-scope dd { color: #2a4564 !important; }
body.zandino-account-app .zcp-service-order-card__actions > a { border-color: #dce5ef; color: #45617d !important; }
body.zandino-account-app .zcp-empty-state,
body.zandino-account-app .zcp-services-empty p { color: #74869b !important; }
body.zandino-account-app .zcp-empty-state strong,
body.zandino-account-app .zcp-services-empty h3 { color: #29415e !important; }
body.zandino-account-app .zcp-account-content table.shop_table,
body.zandino-account-app .zcp-wallet-table tr { border-color: var(--zcp-app-line) !important; background: #fff !important; }
body.zandino-account-app .zcp-account-content table.shop_table th { color: #73859a !important; }
body.zandino-account-app .zcp-account-content table.shop_table td,
body.zandino-account-app .zcp-wallet-table td { color: #2c4561 !important; }
body.zandino-account-app .zcp-account-content fieldset { border-color: var(--zcp-app-line) !important; background: #fbfcfe; }
body.zandino-account-app .zcp-account-content legend { color: #28415d; }
body.zandino-account-app .zcp-account-content input.input-text,
body.zandino-account-app .zcp-account-content textarea,
body.zandino-account-app .zcp-account-content select,
body.zandino-account-app .zcp-topup-form input,
body.zandino-account-app .zcp-ticket-form-grid input,
body.zandino-account-app .zcp-ticket-form-grid textarea,
body.zandino-account-app .zcp-ticket-reply-form textarea { border-color: #d4dfeb !important; background: #fff !important; color: #213b58 !important; }
body.zandino-account-app .zcp-account-content .button,
body.zandino-account-app .zcp-wallet-view .button,
body.zandino-account-app .zcp-ticketing-view .button,
body.zandino-account-app .zcp-ticket-detail .button { border-color: #d5e0ec !important; background: #f7f9fc !important; color: #2f5277 !important; }
body.zandino-account-app .zcp-account-content .woocommerce-message,
body.zandino-account-app .zcp-account-content .woocommerce-info { border-color: #cfe0f2 !important; background: #eef6ff !important; color: #315778 !important; }
body.zandino-account-app .zcp-account-content .woocommerce-error { border-color: #f0cfd4 !important; background: #fff3f4 !important; color: #8c4450 !important; }
body.zandino-account-app .zcp-wallet-balance > span,
body.zandino-account-app .zcp-wallet-balance > small,
body.zandino-account-app .zcp-form-title span,
body.zandino-account-app .zcp-topup-form label > span,
body.zandino-account-app .zcp-ticketing-head p,
body.zandino-account-app .zcp-ticket-reply-form label > span { color: #71839a !important; }
body.zandino-account-app .zcp-wallet-balance > strong { color: #1b4f91 !important; }
body.zandino-account-app .zcp-ticket-list-items strong,
body.zandino-account-app .zcp-ticket-message { color: #2b4663 !important; }
body.zandino-account-app .zcp-ticket-list-items time,
body.zandino-account-app .zcp-ticket-detail > header small,
body.zandino-account-app .zcp-ticket-message time { color: #7b8da2 !important; }
body.zandino-account-app .zcp-ticket-message { border-color: #dce5ef; background: #f7f9fc; }

body.zandino-account-guest .zcp-auth-shell { background: radial-gradient(circle at 12% 9%, #e4efff, transparent 32%), #f3f6fb; }
body.zandino-account-guest .zcp-auth-intro h1,
body.zandino-account-guest .zcp-auth-card > header h1,
body.zandino-account-guest .zcp-auth-card > header h2 { color: #1b3553 !important; }
body.zandino-account-guest .zcp-auth-intro p,
body.zandino-account-guest .zcp-auth-card > header p,
body.zandino-account-guest .zcp-auth-note,
body.zandino-account-guest .zcp-auth-privacy { color: #6c7f95 !important; }
body.zandino-account-guest .zcp-auth-card { border-color: #d8e3ef; background: rgba(255, 255, 255, .94); box-shadow: 0 30px 70px rgba(33, 67, 110, .1); }
body.zandino-account-guest .zcp-auth-form > label > span { color: #4b627c; }
body.zandino-account-guest .zcp-auth-form input[type="text"],
body.zandino-account-guest .zcp-auth-form input[type="email"],
body.zandino-account-guest .zcp-auth-form input[type="password"] { border-color: #d3dfec !important; background: #fff !important; color: #1f3a58 !important; }
body.zandino-account-guest .zcp-auth-form__meta a,
body.zandino-account-guest .zcp-auth-back { color: #456783 !important; }

/* Structured project intake for agency services. */
.zcp-project-brief {
    margin: 0 24px 8px;
    padding: 18px 0 0;
    border-top: 1px solid #e5ebf2;
}
.zcp-project-brief > header { display: grid; gap: 4px; margin-bottom: 14px; }
.zcp-project-brief > header > span { color: var(--zcp-service-blue); font-size: 9px; font-weight: 850; letter-spacing: .03em; }
.zcp-project-brief > header > strong { color: var(--zcp-service-ink); font-size: 16px; }
.zcp-project-brief > header > p { margin: 0; color: #738397; font-size: 11px; line-height: 1.7; }
.zcp-project-brief__fields { display: grid; gap: 11px; }
.zcp-project-brief__fields label { display: grid; gap: 6px; }
.zcp-project-brief__fields label > span { color: #263c56; font-size: 11px; font-weight: 750; }
.zcp-project-brief__fields label > span b { color: #3978d4; }
.zcp-project-brief__fields input,
.zcp-project-brief__fields textarea { width: 100%; box-sizing: border-box; min-height: 43px; padding: 10px 12px; border: 1px solid #ccd8e5; border-radius: 10px; background: #fff; color: #243950; font: inherit; font-size: 12px; line-height: 1.7; }
.zcp-project-brief__fields textarea { min-height: 90px; resize: vertical; }
.zcp-project-brief__fields input:focus,
.zcp-project-brief__fields textarea:focus { outline: 0; border-color: #6a9ddd; box-shadow: 0 0 0 3px rgba(57,120,212,.13); }
.zcp-project-brief__fields input::placeholder,
.zcp-project-brief__fields textarea::placeholder { color: #9aa8b8; }

@media (max-width: 700px) {
    .zcp-project-brief { margin-inline: 18px; }
}

/* The authenticated customer workspace is a utility surface, so it uses a
 * calm light palette distinct from the cinematic home page. */
body.zandino-account-authenticated {
    --zcp-app-bg: #f3f6fa;
    --zcp-app-sidebar: #ffffff;
    --zcp-app-surface: #ffffff;
    --zcp-app-surface-2: #f7faff;
    --zcp-app-line: #dfe7f0;
    --zcp-app-muted: #6d7e92;
    --zcp-app-text: #18304b;
    --zcp-app-accent: #2f6fbe;
    background: var(--zcp-app-bg);
    color: var(--zcp-app-text);
}
body.zandino-account-authenticated .z36-commerce-main { background: var(--zcp-app-bg); }
body.zandino-account-authenticated .zcp-account-app { background: var(--zcp-app-bg); color: var(--zcp-app-text); }
body.zandino-account-authenticated .zcp-account-sidebar { background: rgba(255,255,255,.96); box-shadow: 10px 0 35px rgba(31,61,94,.06); }
body.zandino-account-authenticated .zcp-account-brand { color: #18304b !important; }
body.zandino-account-authenticated .zcp-account-brand__mark { border-color: #cfe0f4; background: #eaf3ff; color: #245f9f; box-shadow: none; }
body.zandino-account-authenticated .zcp-account-profile { border-color: #e1e8f0; background: #f8fafc; }
body.zandino-account-authenticated .zcp-account-profile__avatar { border-color: #d5e3f2; }
body.zandino-account-authenticated .zcp-account-profile strong { color: #1a3654; }
body.zandino-account-authenticated .zcp-account-profile span { color: #718297; }
body.zandino-account-authenticated .zcp-account-nav__label { color: #8a99aa; }
body.zandino-account-authenticated .zcp-account-nav__item { color: #5a6e84 !important; }
body.zandino-account-authenticated .zcp-account-nav__item:hover { border-color: #dce8f5; background: #f4f8fd; color: #1f5d9c !important; }
body.zandino-account-authenticated .zcp-account-nav__item.is-active { border-color: #cfe0f4; background: #eaf3ff; color: #1f5d9c !important; }
body.zandino-account-authenticated .zcp-account-nav__icon { background: #f2f6fa; color: #72849a; }
body.zandino-account-authenticated .zcp-account-nav__item.is-active .zcp-account-nav__icon { background: #d9eaff; color: #2869ad; }
body.zandino-account-authenticated .zcp-account-sidebar__footer a { color: #4c6680 !important; }
body.zandino-account-authenticated .zcp-account-sidebar__footer small { color: #8a99aa; }
body.zandino-account-authenticated .zcp-account-topbar { border-bottom-color: #dfe7f0; background: rgba(255,255,255,.88); box-shadow: 0 8px 25px rgba(31,61,94,.04); }
body.zandino-account-authenticated .zcp-account-topbar__title > div > span { color: #8a99aa; }
body.zandino-account-authenticated .zcp-account-topbar h1 { color: #193451 !important; }
body.zandino-account-authenticated .zcp-account-topbar__actions > a { border-color: #d8e4ef; color: #49627c !important; }
body.zandino-account-authenticated .zcp-account-menu-toggle { border-color: #d8e4ef; background: #fff; color: #2f587f; }
body.zandino-account-authenticated .zcp-dashboard-hero { border-color: #d7e5f4; background: linear-gradient(135deg,#eaf3ff,#ffffff 68%); box-shadow: 0 18px 48px rgba(31,61,94,.07); }
body.zandino-account-authenticated .zcp-dashboard-hero > div > span { color: #3977b9; }
body.zandino-account-authenticated .zcp-dashboard-hero h2 { color: #183451 !important; }
body.zandino-account-authenticated .zcp-dashboard-hero p { color: #687d93; }
body.zandino-account-authenticated .zcp-account-cards > a,
body.zandino-account-authenticated .zcp-dashboard-section,
body.zandino-account-authenticated .zcp-wallet-history,
body.zandino-account-authenticated .zcp-wallet-hero,
body.zandino-account-authenticated .zcp-ticket-create,
body.zandino-account-authenticated .zcp-ticket-list,
body.zandino-account-authenticated .zcp-ticket-detail > header,
body.zandino-account-authenticated .zcp-ticket-reply-form,
body.zandino-account-authenticated .zcp-service-order-card { border-color: #dfe7f0; background: #fff !important; color: #203c59 !important; box-shadow: 0 12px 34px rgba(31,61,94,.045); }
body.zandino-account-authenticated .zcp-account-cards span,
body.zandino-account-authenticated .zcp-account-cards small,
body.zandino-account-authenticated .zcp-dashboard-section > header > a,
body.zandino-account-authenticated .zcp-recent-orders span { color: #718398; }
body.zandino-account-authenticated .zcp-account-cards strong,
body.zandino-account-authenticated .zcp-recent-orders strong { color: #183451; }
body.zandino-account-authenticated .zcp-recent-orders > a { border-top-color: #e7edf3; }
body.zandino-account-authenticated .zcp-services-head { border-color: #d7e5f4; background: linear-gradient(135deg,#e8f2ff,#fff); }
body.zandino-account-authenticated .zcp-services-head h2 { color: #183451 !important; }
body.zandino-account-authenticated .zcp-services-head p { color: #687d93; }
body.zandino-account-authenticated .zcp-services-head > div > span { color: #3977b9; }
body.zandino-account-authenticated .zcp-service-order-card h3 { color: #1e3b58 !important; }
body.zandino-account-authenticated .zcp-service-order-card__mark { border-color: #d4e4f5; background: #eaf3ff; color: #2869ad; }
body.zandino-account-authenticated .zcp-service-order-card__identity small,
body.zandino-account-authenticated .zcp-service-order-card > footer small { color: #7b8da1; }
body.zandino-account-authenticated .zcp-service-order-card > footer { border-top-color: #e4ebf2; }
body.zandino-account-authenticated .zcp-service-scope > div { border-color: #e1e9f1; background: #f7f9fb; }
body.zandino-account-authenticated .zcp-service-scope dt { color: #7b8da1; }
body.zandino-account-authenticated .zcp-service-scope dd,
body.zandino-account-authenticated .zcp-service-order-card > footer strong { color: #284663; }
body.zandino-account-authenticated .zcp-account-content .woocommerce-message,
body.zandino-account-authenticated .zcp-account-content .woocommerce-info,
body.zandino-account-authenticated .zcp-account-content .woocommerce-error { border-color: #dfe7f0 !important; background: #fff !important; color: #385570 !important; }
body.zandino-account-authenticated .zcp-account-content input.input-text,
body.zandino-account-authenticated .zcp-account-content textarea,
body.zandino-account-authenticated .zcp-account-content select,
body.zandino-account-authenticated .zcp-topup-form input,
body.zandino-account-authenticated .zcp-ticket-form-grid input,
body.zandino-account-authenticated .zcp-ticket-form-grid textarea,
body.zandino-account-authenticated .zcp-ticket-reply-form textarea { border-color: #ccd9e6 !important; background: #fff !important; color: #1d3853 !important; }
body.zandino-account-authenticated .zcp-account-content .button,
body.zandino-account-authenticated .zcp-wallet-view .button,
body.zandino-account-authenticated .zcp-ticketing-view .button,
body.zandino-account-authenticated .zcp-ticket-detail .button { border-color: #d3e0ec !important; background: #f6f9fc !important; color: #315776 !important; }

@media (max-width: 720px) {
    .zcp-service-contract__grid { grid-template-columns: 1fr; }
    .zcp-service-fit__grid { grid-template-columns: 1fr; }
    .zcp-service-nav { overflow-x: auto; flex-wrap: nowrap; margin-inline: -6px; padding-inline: 6px; }
    .zcp-service-nav a { flex: 0 0 auto; }
}


/* Zandino service/account responsive hardening */
.zcp-service-page, .zcp-service-builder, .zcp-account {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.zcp-service-builder input,
.zcp-service-builder select,
.zcp-service-builder textarea {
    max-width: 100%;
    box-sizing: border-box;
}
@media (max-width: 768px) {
    .zcp-service-details__grid,
    .zcp-service-facts,
    .zcp-service-assurance {
        grid-template-columns: 1fr;
    }
    .zcp-service-visual ul {
        grid-template-columns: 1fr;
    }
}
