/* ============================================================
   ICBD ESPOSIZIONI CANINE DI BELLEZZA 0.4.0
   Responsive / Light / Dark / Wide
   ============================================================ */

.icbd-dogshow-page,
.icbd-dogshow-page * { box-sizing: border-box; }

.icbd-dogshow-page {
    --ds-ink:#0a2a3b;
    --ds-muted:#59727e;
    --ds-paper:rgba(255,255,255,.92);
    --ds-paper-strong:#fff;
    --ds-soft:#edf8fc;
    --ds-soft-2:#dff1f8;
    --ds-line:rgba(27,116,154,.18);
    --ds-accent:#249bd3;
    --ds-accent-strong:#0879ad;
    --ds-accent-deep:#075273;
    --ds-ok:#e8f7f1;
    --ds-ok-ink:#166846;
    --ds-shadow:0 22px 55px rgba(19,61,81,.10);
    --ds-shadow-soft:0 12px 32px rgba(19,61,81,.07);
    position:relative;
    overflow:hidden;
    color:var(--ds-ink);
    background:#f7fbfd;
}

html[data-icbd-theme="dark"] .icbd-dogshow-page {
    --ds-ink:#f1f8fb;
    --ds-muted:#b2c8d1;
    --ds-paper:rgba(8,34,47,.90);
    --ds-paper-strong:#0a2b3a;
    --ds-soft:rgba(20,73,95,.62);
    --ds-soft-2:rgba(23,87,113,.62);
    --ds-line:rgba(104,198,237,.18);
    --ds-accent:#47bff1;
    --ds-accent-strong:#249fd3;
    --ds-accent-deep:#9cdef7;
    --ds-ok:rgba(20,87,66,.52);
    --ds-ok-ink:#94ebc7;
    --ds-shadow:0 24px 65px rgba(0,0,0,.28);
    --ds-shadow-soft:0 12px 34px rgba(0,0,0,.18);
    background:#061923;
}

.icbd-dogshow-events-hub {
    position:relative;
    isolation:isolate;
    padding:clamp(62px,7vw,104px) 24px;
    text-align:center;
    overflow:hidden;
    background-color:#eaf7fc;
    background-image:
        linear-gradient(rgba(242,250,253,.74),rgba(242,250,253,.78)),
        var(--icbd-bp-01);
    background-repeat:no-repeat;
    background-position:center;
    background-size:cover;
    border-bottom:1px solid var(--ds-line);
}

html[data-icbd-theme="dark"] .icbd-dogshow-events-hub {
    background-color:#061d29;
    background-image:
        linear-gradient(rgba(4,25,36,.58),rgba(4,25,36,.68)),
        var(--icbd-bp-01);
}

.icbd-dogshow-events-hub::after {
    content:"";
    position:absolute;
    z-index:-1;
    width:min(650px,70vw);
    aspect-ratio:1;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:radial-gradient(circle,rgba(42,167,218,.14) 0%,rgba(42,167,218,0) 68%);
    pointer-events:none;
}

.icbd-dogshow-events-inner { width:min(880px,100%); margin:0 auto; }

.icbd-dogshow-events-kicker,
.icbd-dogshow-guide .icbd-kicker {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 13px;
    border:1px solid rgba(36,155,211,.22);
    border-radius:999px;
    color:var(--ds-accent-strong);
    background:rgba(227,246,253,.88);
    font-size:12px;
    font-weight:900;
    letter-spacing:.09em;
    text-transform:uppercase;
}

html[data-icbd-theme="dark"] .icbd-dogshow-events-kicker,
html[data-icbd-theme="dark"] .icbd-dogshow-guide .icbd-kicker {
    color:#b8eaff;
    background:rgba(21,77,100,.72);
    border-color:rgba(95,200,243,.20);
}

.icbd-dogshow-events-hub h1 {
    max-width:780px;
    margin:16px auto 14px;
    color:var(--ds-ink);
    font-size:clamp(42px,6.2vw,78px);
    line-height:.98;
    letter-spacing:-.045em;
}

.icbd-dogshow-events-hub p {
    max-width:720px;
    margin:0 auto 27px;
    color:var(--ds-muted);
    font-size:clamp(17px,2vw,20px);
    line-height:1.65;
}

.icbd-dogshow-events-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-height:54px;
    padding:14px 23px;
    border-radius:999px;
    color:#fff !important;
    background:linear-gradient(135deg,#2da7dc,#168ac0);
    box-shadow:0 14px 34px rgba(28,145,196,.25);
    text-decoration:none !important;
    font-weight:900;
    transition:transform .18s ease,box-shadow .18s ease;
}

.icbd-dogshow-events-button:hover {
    transform:translateY(-2px);
    box-shadow:0 18px 40px rgba(28,145,196,.31);
}

.icbd-dogshow-events-inner > small {
    display:block;
    margin-top:14px;
    color:var(--ds-muted);
    font-size:12px;
    font-weight:700;
}

.icbd-dogshow-content-shell {
    position:relative;
    padding:1px 24px clamp(70px,8vw,120px);
    background-color:#f7fbfd;
    background-image:
        linear-gradient(rgba(248,252,254,.87),rgba(248,252,254,.89)),
        var(--icbd-bp-02);
    background-repeat:no-repeat;
    background-position:center top;
    background-size:100% auto;
}

html[data-icbd-theme="dark"] .icbd-dogshow-content-shell {
    background-color:#061923;
    background-image:
        linear-gradient(rgba(5,25,35,.82),rgba(5,25,35,.86)),
        var(--icbd-bp-02);
}

.icbd-dogshow-guide {
    width:min(1280px,100%);
    margin:clamp(46px,6vw,78px) auto 0;
    color:var(--ds-ink);
    font-family:inherit;
    line-height:1.68;
}

.icbd-dogshow-guide a {
    color:var(--ds-accent-strong);
    text-decoration-thickness:1px;
    text-underline-offset:3px;
}

.icbd-dogshow-guide h2,
.icbd-dogshow-guide h3,
.icbd-dogshow-guide h4 {
    margin-top:0;
    color:var(--ds-ink);
    line-height:1.13;
    letter-spacing:-.02em;
}

.icbd-dogshow-guide p { margin:0 0 1em; }

.icbd-dogshow-guide .icbd-hero {
    position:relative;
    overflow:hidden;
    padding:clamp(30px,4.2vw,58px);
    border:1px solid var(--ds-line);
    border-radius:30px;
    color:var(--ds-ink);
    background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(235,248,253,.92));
    box-shadow:var(--ds-shadow);
}

html[data-icbd-theme="dark"] .icbd-dogshow-guide .icbd-hero {
    background:linear-gradient(135deg,rgba(8,39,53,.94),rgba(10,48,65,.91));
}

.icbd-dogshow-guide .icbd-hero::after {
    content:"";
    position:absolute;
    width:330px;
    height:330px;
    right:-120px;
    top:-130px;
    border:44px solid rgba(36,155,211,.07);
    border-radius:50%;
    pointer-events:none;
}

.icbd-dogshow-guide .icbd-hero h2 {
    max-width:880px;
    margin:18px 0;
    font-size:clamp(34px,5vw,62px);
    letter-spacing:-.045em;
}

.icbd-dogshow-guide .icbd-hero .lead {
    max-width:900px;
    margin-bottom:0;
    color:var(--ds-muted);
    font-size:clamp(17px,2vw,20px);
}

.icbd-dogshow-guide .icbd-reassure {
    display:flex;
    align-items:flex-start;
    gap:14px;
    max-width:860px;
    margin-top:26px;
    padding:18px 20px;
    border:1px solid var(--ds-line);
    border-radius:18px;
    color:var(--ds-ink);
    background:var(--ds-paper-strong);
}

.icbd-dogshow-guide .icbd-reassure .ico { flex:0 0 auto; font-size:28px; line-height:1; }
.icbd-dogshow-guide .icbd-reassure strong { display:block; margin-bottom:3px; }

.icbd-dogshow-guide .icbd-section {
    position:relative;
    margin-top:clamp(54px,7vw,86px);
}

.icbd-dogshow-guide .icbd-section-head {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);
    gap:36px;
    align-items:end;
    margin-bottom:28px;
}

.icbd-dogshow-guide .icbd-section-head h3 {
    margin:0;
    font-size:clamp(29px,4vw,46px);
}

.icbd-dogshow-guide .icbd-section-head p { margin:0; color:var(--ds-muted); }

.icbd-dogshow-guide .icbd-timeline {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.icbd-dogshow-guide .icbd-step {
    position:relative;
    min-height:250px;
    padding:25px 22px 23px;
    border:1px solid var(--ds-line);
    border-radius:21px;
    background:var(--ds-paper);
    box-shadow:var(--ds-shadow-soft);
    backdrop-filter:blur(8px);
}

.icbd-dogshow-guide .icbd-step-num {
    display:grid;
    place-items:center;
    width:43px;
    height:43px;
    margin-bottom:18px;
    border-radius:50%;
    color:#fff;
    background:linear-gradient(135deg,var(--ds-accent),var(--ds-accent-strong));
    font-weight:900;
}

.icbd-dogshow-guide .icbd-step h4 { margin-bottom:9px; font-size:20px; }
.icbd-dogshow-guide .icbd-step p { margin:0; color:var(--ds-muted); font-size:15px; }

.icbd-dogshow-guide .icbd-grid-2,
.icbd-dogshow-guide .icbd-handler {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}

.icbd-dogshow-guide .icbd-card,
.icbd-dogshow-guide .icbd-judge-card {
    padding:clamp(23px,3vw,31px);
    border:1px solid var(--ds-line);
    border-radius:23px;
    background:var(--ds-paper);
    box-shadow:var(--ds-shadow-soft);
    backdrop-filter:blur(8px);
}

.icbd-dogshow-guide .icbd-card h4,
.icbd-dogshow-guide .icbd-judge-card h4 {
    margin-bottom:12px;
    font-size:clamp(21px,2.2vw,26px);
}

.icbd-dogshow-guide .icbd-card .icon,
.icbd-dogshow-guide .icbd-judge-card .icon {
    display:block;
    margin-bottom:12px;
    font-size:32px;
}

.icbd-dogshow-guide .icbd-checks {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:11px 18px;
    margin:18px 0 0;
    padding:0;
    list-style:none;
}

.icbd-dogshow-guide .icbd-checks li {
    position:relative;
    padding-left:29px;
    color:var(--ds-ink);
}

.icbd-dogshow-guide .icbd-checks li::before {
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    color:var(--ds-ok-ink);
    font-weight:900;
}

.icbd-dogshow-guide .icbd-note {
    margin-top:18px;
    padding:16px 18px;
    border:1px solid rgba(40,158,207,.20);
    border-radius:15px;
    color:#164b64;
    background:rgba(220,243,251,.88);
    font-size:14px;
}

html[data-icbd-theme="dark"] .icbd-dogshow-guide .icbd-note {
    color:#ddf5ff;
    background:rgba(18,78,103,.72);
    border-color:rgba(94,198,239,.18);
}

.icbd-dogshow-guide .icbd-safety {
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:22px;
}

.icbd-dogshow-guide .icbd-safety-main {
    padding:clamp(25px,3vw,34px);
    border-radius:25px;
    color:#fff;
    background:linear-gradient(145deg,rgba(18,126,170,.98),rgba(7,82,115,.98));
    box-shadow:var(--ds-shadow-soft);
}

.icbd-dogshow-guide .icbd-safety-main h4 {
    color:#fff;
    font-size:clamp(26px,3vw,31px);
}

.icbd-dogshow-guide .icbd-safety-main p { color:rgba(255,255,255,.90); }

.icbd-dogshow-guide .icbd-safety-list { display:grid; gap:12px; }

.icbd-dogshow-guide .icbd-safety-item {
    padding:18px 20px;
    border:1px solid var(--ds-line);
    border-radius:17px;
    color:var(--ds-muted);
    background:var(--ds-paper);
    box-shadow:var(--ds-shadow-soft);
}

.icbd-dogshow-guide .icbd-safety-item strong {
    display:block;
    margin-bottom:3px;
    color:var(--ds-ink);
}

.icbd-dogshow-guide .icbd-ring {
    padding:clamp(20px,3vw,36px);
    border:1px solid var(--ds-line);
    border-radius:27px;
    background:rgba(226,244,251,.62);
}

html[data-icbd-theme="dark"] .icbd-dogshow-guide .icbd-ring {
    background:rgba(9,47,64,.68);
}

.icbd-dogshow-guide .icbd-ring-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:26px;
    align-items:start;
}

.icbd-dogshow-guide .icbd-move {
    margin-bottom:14px;
    padding:22px;
    border:1px solid var(--ds-line);
    border-radius:18px;
    background:var(--ds-paper-strong);
}

.icbd-dogshow-guide .icbd-move:last-child { margin-bottom:0; }

.icbd-dogshow-guide .icbd-move-title {
    display:flex;
    align-items:center;
    gap:11px;
    margin-bottom:8px;
    color:var(--ds-ink);
    font-size:18px;
    font-weight:900;
}

.icbd-dogshow-guide .icbd-move p { color:var(--ds-muted); }

.icbd-dogshow-guide .icbd-diagram {
    position:relative;
    height:190px;
    overflow:hidden;
    border:1px dashed rgba(36,155,211,.42);
    border-radius:20px;
    background:
        linear-gradient(rgba(255,255,255,.86),rgba(255,255,255,.86)),
        repeating-linear-gradient(0deg,transparent 0 22px,rgba(36,155,211,.06) 23px),
        repeating-linear-gradient(90deg,transparent 0 22px,rgba(36,155,211,.06) 23px);
}

html[data-icbd-theme="dark"] .icbd-dogshow-guide .icbd-diagram {
    background:
        linear-gradient(rgba(7,35,48,.93),rgba(7,35,48,.93)),
        repeating-linear-gradient(0deg,transparent 0 22px,rgba(78,191,238,.08) 23px),
        repeating-linear-gradient(90deg,transparent 0 22px,rgba(78,191,238,.08) 23px);
}

.icbd-dogshow-guide .dog-dot,
.icbd-dogshow-guide .judge-dot {
    position:absolute;
    z-index:2;
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border:2px solid var(--ds-accent);
    border-radius:50%;
    background:var(--ds-paper-strong);
    font-size:22px;
}

.icbd-dogshow-guide .judge-dot { right:26px; top:72px; border-color:#2f9bc9; }
.icbd-dogshow-guide .dog-dot { left:28px; top:72px; }

.icbd-dogshow-guide .arrow-line {
    position:absolute;
    left:83px;
    right:84px;
    top:92px;
    height:3px;
    background:var(--ds-accent);
}

.icbd-dogshow-guide .arrow-line::before,
.icbd-dogshow-guide .arrow-line::after {
    content:"";
    position:absolute;
    top:-5px;
    width:10px;
    height:10px;
    border-top:3px solid var(--ds-accent);
    border-right:3px solid var(--ds-accent);
}

.icbd-dogshow-guide .arrow-line::after { right:0; transform:rotate(45deg); }
.icbd-dogshow-guide .arrow-line::before { left:0; transform:rotate(225deg); }

.icbd-dogshow-guide .ring-circle {
    position:absolute;
    left:50%;
    top:50%;
    width:132px;
    height:132px;
    transform:translate(-50%,-50%);
    border:3px dashed var(--ds-accent);
    border-radius:50%;
}

.icbd-dogshow-guide .ring-circle::after {
    content:"↺";
    position:absolute;
    right:-21px;
    top:47px;
    color:var(--ds-accent);
    background:var(--ds-paper-strong);
    font-size:30px;
    line-height:1;
}

.icbd-dogshow-guide .icbd-pills {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:18px;
}

.icbd-dogshow-guide .icbd-pill {
    padding:8px 11px;
    border-radius:999px;
    color:var(--ds-accent-deep);
    background:var(--ds-soft-2);
    font-size:13px;
    font-weight:800;
}

.icbd-dogshow-guide .icbd-heart {
    padding:clamp(32px,4vw,48px);
    border-radius:29px;
    color:#fff;
    text-align:center;
    background:linear-gradient(135deg,rgba(10,104,143,.97),rgba(6,67,94,.98));
    box-shadow:var(--ds-shadow);
}

.icbd-dogshow-guide .icbd-heart h3 {
    margin-bottom:15px;
    color:#fff;
    font-size:clamp(30px,4vw,48px);
}

.icbd-dogshow-guide .icbd-heart p {
    max-width:880px;
    margin:0 auto;
    color:rgba(255,255,255,.90);
    font-size:18px;
}

.icbd-dogshow-guide .icbd-heart .quote {
    max-width:900px;
    margin:26px auto 0;
    padding-top:24px;
    border-top:1px solid rgba(255,255,255,.23);
    color:#fff;
    font-size:clamp(19px,2.3vw,24px);
    font-weight:800;
}

.icbd-dogshow-guide .icbd-faq details {
    margin-bottom:10px;
    overflow:hidden;
    border:1px solid var(--ds-line);
    border-radius:17px;
    background:var(--ds-paper);
    box-shadow:var(--ds-shadow-soft);
}

.icbd-dogshow-guide .icbd-faq summary {
    cursor:pointer;
    padding:18px 20px;
    color:var(--ds-ink);
    font-weight:900;
    list-style:none;
}

.icbd-dogshow-guide .icbd-faq summary::-webkit-details-marker { display:none; }
.icbd-dogshow-guide .icbd-faq summary::after {
    content:"+";
    float:right;
    color:var(--ds-accent);
    font-size:22px;
}
.icbd-dogshow-guide .icbd-faq details[open] summary::after { content:"–"; }

.icbd-dogshow-guide .icbd-faq .answer {
    padding:0 20px 19px;
    color:var(--ds-muted);
}

.icbd-dogshow-guide .icbd-final-box {
    display:grid;
    grid-template-columns:1fr auto;
    gap:24px;
    align-items:center;
    margin-top:34px;
    padding:28px;
    border:1px solid rgba(36,155,211,.20);
    border-radius:23px;
    background:rgba(221,243,251,.90);
}

html[data-icbd-theme="dark"] .icbd-dogshow-guide .icbd-final-box {
    background:rgba(13,68,90,.78);
}

.icbd-dogshow-guide .icbd-final-box h4 { margin-bottom:5px; font-size:25px; }
.icbd-dogshow-guide .icbd-final-box p { margin:0; color:var(--ds-muted); }

.icbd-dogshow-guide .icbd-final-badge {
    padding:13px 16px;
    border-radius:999px;
    color:#fff;
    background:var(--ds-accent-strong);
    font-weight:900;
    white-space:nowrap;
}

.icbd-dogshow-guide .icbd-sources {
    margin-top:42px;
    padding:24px 26px;
    border:1px solid var(--ds-line);
    border-radius:18px;
    color:var(--ds-muted);
    background:var(--ds-paper);
    font-size:12px;
}

.icbd-dogshow-guide .icbd-sources p { margin:0 0 7px; }
.icbd-dogshow-guide .icbd-sources p:last-child { margin-bottom:0; }

@media (min-width:1500px) {
    .icbd-dogshow-guide { width:min(1380px,calc(100% - 72px)); }
    .icbd-dogshow-guide .icbd-timeline { gap:20px; }
    .icbd-dogshow-guide .icbd-step { min-height:240px; padding:28px 25px; }
}

@media (max-width:1050px) {
    .icbd-dogshow-guide .icbd-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .icbd-dogshow-guide .icbd-step { min-height:0; }
}

@media (max-width:900px) {
    .icbd-dogshow-guide .icbd-section-head,
    .icbd-dogshow-guide .icbd-safety,
    .icbd-dogshow-guide .icbd-ring-grid,
    .icbd-dogshow-guide .icbd-handler { grid-template-columns:1fr; }

    .icbd-dogshow-guide .icbd-section-head { gap:12px; align-items:start; }
}

@media (max-width:700px) {
    .icbd-dogshow-events-hub { padding-inline:18px; }
    .icbd-dogshow-content-shell { padding-inline:16px; }

    .icbd-dogshow-guide .icbd-timeline,
    .icbd-dogshow-guide .icbd-grid-2,
    .icbd-dogshow-guide .icbd-checks { grid-template-columns:1fr; }

    .icbd-dogshow-guide .icbd-hero { border-radius:23px; padding:29px 20px; }
    .icbd-dogshow-guide .icbd-reassure { padding:16px; }
    .icbd-dogshow-guide .icbd-ring { padding:18px 14px; }
    .icbd-dogshow-guide .icbd-heart { padding:30px 19px; }

    .icbd-dogshow-guide .icbd-final-box {
        grid-template-columns:1fr;
        padding:22px;
    }

    .icbd-dogshow-guide .icbd-final-badge {
        white-space:normal;
        text-align:center;
    }

    .icbd-dogshow-guide .icbd-diagram { height:170px; }
}

@media (max-width:430px) {
    .icbd-dogshow-events-button { width:100%; }

    .icbd-dogshow-guide .icbd-step,
    .icbd-dogshow-guide .icbd-card,
    .icbd-dogshow-guide .icbd-judge-card { border-radius:18px; }
}
