/* DP Events 2.3 — apresentação integrada no tema WordPress ativo.
   Não define paleta, fontes ou estilos globais: herda do tema e de theme.json. */
.dpev-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr)); gap:var(--wp--style--block-gap,1.5rem); margin-block:var(--wp--style--block-gap,1.5rem); }
.dpev-grid,.dpev-detail { font-family:inherit; font-size:inherit; color:inherit; line-height:inherit; }
.dpev-card { min-width:0; overflow:hidden; border:1px solid currentColor; border-color:var(--wp--preset--color--contrast-3,rgba(127,127,127,.23)); border-radius:var(--wp--custom--border--radius,0.5rem); background:transparent; color:inherit; }
.dpev-card-image { display:block; }
.dpev-card-image img { display:block; width:100%; aspect-ratio:16/10; height:auto; object-fit:cover; }
.dpev-card-body { padding:clamp(1rem,2vw,1.5rem); }
.dpev-card h3 { font-family:inherit; font-size:var(--wp--preset--font-size--large,1.25em); line-height:inherit; margin:0 0 .75em; color:inherit; }
.dpev-card h3 a { color:inherit; text-decoration:inherit; }
.dpev-card p { margin:.7em 0; font:inherit; }
.dpev-button { display:inline-block; max-width:100%; box-sizing:border-box; cursor:pointer; text-align:center; font-family:inherit; font-size:inherit; line-height:inherit; text-decoration:none; margin-top:.6em; }
/* Fallbacks limitados ao plugin, utilizados por temas clássicos sem estilos de botão. */
.dpev-button:not(.has-background) { background-color:var(--wp--preset--color--primary,ButtonFace); color:var(--wp--preset--color--base,ButtonText); }
.dpev-button { border:1px solid currentColor; border-radius:var(--wp--custom--border--radius,0.375rem); padding:.65em 1.1em; }
.dpev-button:hover { filter:brightness(.94); }
.dpev-button:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.dpev-detail { margin-block:var(--wp--style--block-gap,1.5rem); }
.dpev-facts { padding:1rem 1.25rem; border:1px solid var(--wp--preset--color--contrast-3,rgba(127,127,127,.23)); border-radius:var(--wp--custom--border--radius,.5rem); margin-bottom:1.5rem; }
.dpev-facts p { margin:.5em 0; }
.dpev-poster img { max-width:100%; height:auto; }
.dpev-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:1rem; margin-block:1.5rem; }
.dpev-gallery img { width:100%; aspect-ratio:4/3; height:auto; object-fit:cover; }
.dpev-signup { box-sizing:border-box; padding:clamp(1rem,3vw,1.5rem); border:1px solid var(--wp--preset--color--contrast-3,rgba(127,127,127,.23)); border-radius:var(--wp--custom--border--radius,.5rem); max-width:var(--wp--style--global--content-size,680px); background:transparent; color:inherit; }
.dpev-signup form { display:grid; gap:1rem; }
.dpev-signup label { display:grid; gap:.35rem; font-weight:600; font-family:inherit; }
.dpev-signup input:not([type=checkbox]),.dpev-signup select { box-sizing:border-box; width:100%; max-width:100%; padding:.65em .8em; font:inherit; border:1px solid currentColor; border-color:var(--wp--preset--color--contrast-3,rgba(127,127,127,.4)); border-radius:var(--wp--custom--border--radius,.25rem); background:transparent; color:inherit; }
.dpev-signup input:focus-visible,.dpev-signup select:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
.dpev-signup .dpev-check { display:flex; gap:.5rem; align-items:flex-start; font-size:.9em; font-weight:400; }
.dpev-signup .dpev-check input { margin-top:.2em; flex:none; }
.dpev-notice { border-left:4px solid currentColor; padding:1rem; margin:1.25rem 0; background:transparent; }
.dpev-hp { position:absolute!important; left:-99999px!important; width:1px; height:1px; overflow:hidden; }
@media (max-width:600px) { .dpev-grid {grid-template-columns:minmax(0,1fr);} }

/* V2.5 – componentes visuais isolados, cores e tipografia herdadas do tema ativo. */
.dpev-card{transition:transform .18s ease, box-shadow .18s ease;border-radius:var(--wp--custom--border--radius,12px)}
.dpev-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.08)}
.dpev-card-image img{transition:transform .2s ease}.dpev-card-image{overflow:hidden}.dpev-card:hover .dpev-card-image img{transform:scale(1.025)}
.dpev-card-body{display:flex;flex-direction:column;gap:.35rem}.dpev-card-body .dpev-button{align-self:flex-start}
.dpev-signup{max-width:min(100%,760px);padding:clamp(1.25rem,3vw,2rem);border-radius:var(--wp--custom--border--radius,14px)}
.dpev-form-heading h2{margin:.3rem 0 .35rem;font-size:clamp(1.5rem,3vw,2rem)}.dpev-form-heading p{margin:0 0 1.25rem;opacity:.78}
.dpev-eyebrow{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:750;opacity:.67}
.dpev-timeline-box{padding:clamp(1rem,2vw,1.4rem);border:1px solid var(--wp--preset--color--contrast-3,rgba(127,127,127,.24));border-radius:12px;margin:0 0 1.5rem}
.dpev-section-heading h3{font-size:1.1em;margin:.2rem 0 .25rem}.dpev-section-heading p{font-size:.92em;opacity:.7;margin:0 0 1.2rem}
.dpev-timeline{list-style:none!important;margin:0!important;padding:0!important;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}
.dpev-timeline li{list-style:none!important;position:relative;min-width:0;margin:0!important;padding:0!important}
.dpev-step-number{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;border:2px solid currentColor;font-size:.84rem;font-weight:750;position:relative;z-index:1;background:var(--wp--preset--color--base,Canvas)}
.dpev-timeline li:not(:last-child):before{content:"";position:absolute;top:1.04rem;left:2.3rem;right:-.4rem;height:2px;background:currentColor;opacity:.18}
.dpev-timeline li.is-done .dpev-step-number{background:var(--wp--preset--color--primary,currentColor);color:var(--wp--preset--color--base,Canvas);border-color:var(--wp--preset--color--primary,currentColor)}
.dpev-timeline li.is-current .dpev-step-number{box-shadow:0 0 0 4px var(--wp--preset--color--contrast-3,rgba(127,127,127,.15))}
.dpev-timeline li.is-upcoming{opacity:.55}
.dpev-step-body{display:flex;flex-direction:column;margin-top:.7rem;gap:.3rem}.dpev-step-body strong{font-size:.88em;line-height:1.35}.dpev-step-body span{font-size:.76em;line-height:1.4;opacity:.75}
.dpev-progress-message{padding:.85rem 1rem;border-radius:8px;margin:1.25rem 0 0;background:var(--wp--preset--color--contrast-3,rgba(127,127,127,.1));font-size:.92em}
.dpev-progress-success{border-left:4px solid #27834b}.dpev-progress-error{border-left:4px solid #b92e36}
.dpev-signup input:not([type=checkbox]),.dpev-signup select{min-height:44px;transition:border-color .18s ease,box-shadow .18s ease}
.dpev-signup form{gap:1.1rem}.dpev-signup form label{font-size:.93em}.dpev-button{transition:transform .16s ease,filter .16s ease}.dpev-button:hover{transform:translateY(-1px)}
@media(max-width:650px){.dpev-timeline{grid-template-columns:1fr;gap:0}.dpev-timeline li{display:flex;align-items:flex-start;gap:.8rem;padding-bottom:1rem!important}.dpev-step-body{margin:0}.dpev-step-number{width:2rem;height:2rem;flex:none}.dpev-timeline li:not(:last-child):before{top:2rem;left:.97rem;right:auto;width:2px;height:calc(100% - 2rem)}.dpev-signup{padding:1rem}}
@media(prefers-reduced-motion:reduce){.dpev-card,.dpev-card-image img,.dpev-button{transition:none!important}.dpev-card:hover,.dpev-card:hover img,.dpev-button:hover{transform:none!important}}

.dpev-attendance-panel{margin-block:1.5rem;padding:clamp(1rem,3vw,2rem);border:1px solid color-mix(in srgb,currentColor 15%,transparent);border-radius:var(--wp--custom--border-radius,14px)}.dpev-attendance-list{display:grid;gap:.85rem}.dpev-attendance-row{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:center;padding:1rem;border:1px solid color-mix(in srgb,currentColor 12%,transparent);border-radius:10px}.dpev-attendance-row form{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.dpev-attendance-agree{display:flex;align-items:center;gap:.4rem}.dpev-attendance-done{color:#18794e;font-weight:600}.dpev-attendance-wait{opacity:.7;font-size:.9em}

/* v2.7: Formulário de inscrição de largura total dentro da área do tema. */
.dpev-detail, .dpev-signup, .dpev-signup form {
    box-sizing:border-box;
    width:100%;
    max-width:none;
    min-width:0;
}
.dpev-signup { margin-inline:0; }
/* Distribuir campos pela largura disponível em ecrãs maiores. */
@media (min-width:800px) {
    .dpev-signup form { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:clamp(1rem,2vw,2rem); }
    .dpev-signup form > .dpev-check,
    .dpev-signup form > p,
    .dpev-signup form > .dpev-hp { grid-column:1 / -1; }
    .dpev-signup form > button[type="submit"] { justify-self:start; }
}
@media (max-width:799px) { .dpev-signup form { grid-template-columns:minmax(0,1fr); } }
