.pv-complementos { color:#173f2d; }
.pv-complementos [hidden] { display:none !important; }
.pv-complementos-tabs { display:flex; gap:10px; overflow-x:auto; padding:8px 0 18px; }
.pv-complementos-tabs button { flex:1 0 150px; display:flex; align-items:center; justify-content:center; gap:9px; padding:16px 12px; min-height:58px; background:#fff; color:#173f2d; border:1px solid #dfe5da; border-radius:10px; font:inherit; cursor:pointer; }
.pv-complementos-tabs button[aria-selected=true] { background:#528737; color:white; border-color:#528737; }
.pv-complementos-tabs img { width:30px; height:30px; object-fit:cover; border-radius:4px; }
.pv-complementos h3 { margin:6px 0; font-size:25px; color:#173f2d; }
.pv-complementos-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:18px; }
.pv-complemento-card { display:flex; flex-direction:column; background:#fff; border:1px solid #dfe5da; border-radius:12px; overflow:hidden; }
.pv-complemento-card > img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.pv-complemento-copy { display:flex; flex:1; flex-direction:column; gap:8px; padding:14px; }
.pv-complemento-copy h4 { margin:0; font-size:17px; color:#173f2d; }
.pv-complemento-copy p { margin:0; font-size:14px; color:#66736b; }
.pv-complemento-copy label { font-size:13px; }
.pv-complemento-copy :is(select,input) { display:block; width:100%; padding:9px; min-height:42px; background:white; border:1px solid #cfd8cf; border-radius:7px; color:#173f2d; }
.pv-complemento-copy button { margin-top:auto; width:100%; border:0; border-radius:7px; padding:12px; min-height:44px; background:#528737; color:white; font:inherit; font-weight:700; cursor:pointer; }
.pv-complemento-copy button:disabled { opacity:.5; cursor:default; }
.pv-complementos button:focus-visible,.pv-evento-accordion summary:focus-visible { outline:3px solid #173f2d; outline-offset:3px; }
.pv-complemento-copy .pv-comp-feedback { min-height:20px; color:#326521; }
.pv-complementos-skip { display:block; margin:22px 0 0; padding:10px 0; color:#173f2d; border:0; background:none; text-decoration:underline; cursor:pointer; }
.pv-complementos-empty { grid-column:1/-1; padding:24px 0; }
.pv-celebration-preferences { display:flex; flex-wrap:wrap; gap:12px; padding:15px 0; }
.pv-celebration-preferences label { flex:1 1 150px; color:#173f2d; font-weight:600; }
.pv-celebration-preferences p { flex-basis:100%; margin:0; }
.pv-celebration-preferences :is(select,input) { display:block; width:100%; padding:10px; border:1px solid #cfd8cf; border-radius:8px; background:#fff; color:#173f2d; }
.pv-comp-choose { margin-top:auto; }
.pv-comp-choose > summary { cursor:pointer; padding:12px; background:#528737; color:#fff; border-radius:7px; font-weight:700; }
.pv-comp-choose[open] > summary { margin-bottom:12px; }
.pv-celebration-options label { display:block; margin:10px 0; }
.pv-celebration-options input[type=checkbox] { display:inline; width:20px; min-height:20px; vertical-align:middle; }
.pv-celebration-options input[type=file] { white-space:normal; font-size:13px; }
.pv-celebration-options [data-cake-preview] { max-width:100%; max-height:160px; object-fit:contain; }
.pv-selection-tools { padding:20px; margin:20px 0; border:1px solid #dfe5da; border-radius:12px; background:#fffdf8; color:#173f2d; }
.pv-selection-tools :is(h3,h4) { color:#173f2d; margin:8px 0; }
.pv-selection-tools p { font-size:14px; margin:10px 0; }
.pv-selection-tools input { width:100%; padding:10px; border:1px solid #cfd8cf; border-radius:8px; background:white; color:#173f2d; }
.pv-selection-actions,.pv-category-decisions { display:flex; flex-wrap:wrap; gap:8px; }
.pv-category-decisions p { flex-basis:100%; }
.pv-selection-tools button,.pv-category-decisions button { border:1px solid #528737; padding:10px 14px; border-radius:8px; background:#fff; color:#173f2d; min-height:44px; font:inherit; cursor:pointer; }
.pv-selection-tools [data-selection-save] { background:#528737; color:#fff; font-weight:700; }
.pv-selection-tools [hidden] { display:none !important; }
.pv-selection-tools button:disabled { opacity:.5; cursor:default; }
.pv-comp-choose button[data-comp-suggest] { background:white; border:1px solid #528737; color:#173f2d; }
.pv-complementos-edit { margin:14px 0 25px; }
.pv-complementos-edit label > span { display:block; margin-bottom:6px; font-weight:700; }
.pv-complementos-edit :is(input:not([type=checkbox]),textarea,select) { width:100%; min-height:44px; padding:10px; border:1px solid #cfd8cf; border-radius:8px; background:white; }
.pv-complementos-edit [data-media-preview] img { max-width:140px; height:auto; margin:10px 0; }
.pv-evento-accordion { margin:0 0 14px; border:1px solid #dfe5da; border-radius:12px; background:rgba(255,255,255,.5); }
.pv-evento-accordion > summary { display:flex; gap:12px; align-items:center; padding:16px; cursor:pointer; list-style:none; }
.pv-evento-accordion > summary::-webkit-details-marker { display:none; }
.pv-evento-accordion > summary::after { content:'+'; margin-left:auto; font-size:24px; }
.pv-evento-accordion[open] > summary::after { content:'−'; }
.pv-evento-accordion-title { font-weight:700; font-size:19px; }
.pv-evento-accordion summary small { margin-left:auto; color:#66736b; font-size:13px; }
.pv-evento-accordion > .pv-evento-section { padding:0 16px 18px; margin:0; border:0; }
.pv-evento-main:has(.pv-evento-accordion) > .pv-evento-stepper { display:none; }
.pv-evento:has(.pv-complementos) .pv-evento-summary-launcher { max-width:calc(100vw - 24px); }
@media(max-width:700px) {
 .pv-complementos-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .pv-complemento-copy { padding:10px; }
 .pv-complemento-copy h4 { font-size:15px; }
 .pv-evento-accordion > summary { flex-wrap:wrap; padding:12px; gap:8px; }
 .pv-evento-accordion summary small { width:100%; margin-left:38px; }
 .pv-evento-accordion-title { font-size:17px; }
 .pv-evento-accordion > .pv-evento-section { padding:0 10px 14px; }
}
@media(max-width:360px) { .pv-complementos-grid { grid-template-columns:1fr; } }
@media(min-width:1100px) {
 .pv-evento:has(.pv-complementos) .pv-evento-layout { display:grid; grid-template-columns:minmax(0,1fr) 350px; align-items:start; gap:24px; }
 .pv-evento:has(.pv-complementos) .pv-evento-main { min-width:0; }
 .pv-evento:has(.pv-complementos) .pv-evento-summary-overlay { display:block; position:sticky; inset:auto; top:20px; z-index:2; padding:0; opacity:1; pointer-events:auto; }
 .pv-evento:has(.pv-complementos) .pv-evento-summary { width:100%; max-height:calc(100vh - 40px); transform:none; }
 .pv-evento:has(.pv-complementos) :is(.pv-evento-summary-backdrop,.pv-evento-summary-close,.pv-evento-summary-launcher) { display:none !important; }
 .pv-evento:has(.pv-complementos) .pv-evento-summary-head { padding-right:16px; }
}
