.evo-cca { border:1px solid #d8d8d8; border-radius:8px; padding:1.25rem; margin:1.5rem 0; background:#fff; }
.evo-cca h3 { margin:0 0 .5rem; }
.evo-cca__fields { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:0 0 1rem; }
.evo-cca__fields label { font-weight:600; display:block; }
.evo-cca__profiles { grid-column:1 / -1; border:0; margin:0; padding:0; min-width:0; }
.evo-cca__profiles legend { font-size:1rem; font-weight:600; padding:0; margin:0 0 .5rem; }
.evo-cca__profile-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.6rem; }
.evo-cca__profile-option { position:relative; margin:0; cursor:pointer; }
.evo-cca__profile-option input { position:absolute; width:1px; height:1px; opacity:0; margin:0; }
.evo-cca__profile-card { display:flex; height:100%; flex-direction:column; align-items:center; justify-content:center; box-sizing:border-box; padding:.5rem .35rem; border:2px solid #d8dfe5; border-radius:8px; background:#fff; color:#303841; text-align:center; font-size:.85rem; line-height:1.3; transition:border-color .15s,box-shadow .15s; }
.evo-cca__profile-card img { display:block; width:100%; height:74px; object-fit:contain; margin:0 0 .35rem; }
.evo-cca__profile-option:hover .evo-cca__profile-card { border-color:#8195a5; }
.evo-cca__profile-option input:checked + .evo-cca__profile-card { border-color:#176a9a; box-shadow:0 0 0 1px #176a9a; color:#15577e; }
.evo-cca__profile-option input:focus-visible + .evo-cca__profile-card { outline:3px solid #176a9a; outline-offset:3px; }
.evo-cca__fields input[type="number"], .evo-cca__fields select { display:block; width:100%; max-width:100%; margin-top:.4rem; border:1px solid #b8b8b8; border-radius:6px; padding:.65rem .75rem; height:auto; min-height:3rem; font:inherit; background:#fff; box-sizing:border-box; }
.evo-cca__fields [data-cap-field] { grid-column:1 / -1; }
.evo-cca [hidden] { display:none!important; }
.evo-cca small { display:block; font-size:.85rem; font-weight:400; margin-top:.4rem; }
.evo-cca__preview { width:100%; height:320px; border:1px solid #e3e6e8; border-radius:8px; background:#f3f5f6; overflow:hidden; }
.evo-cca__preview canvas { display:block; width:100%; height:100%; touch-action:none; }
.evo-cca__preview-tools { display:flex; flex-wrap:wrap; gap:.5rem; margin:.65rem 0; }
.evo-cca__preview-tools button { font:inherit; font-size:.8rem; margin:0; padding:.4rem .6rem; min-height:0; border:1px solid #ccc; border-radius:4px; background:#fff; color:#333; cursor:pointer; }
.evo-cca__hint { font-size:.85rem; color:#555; line-height:1.45; }
.evo-cca-gallery { opacity:1!important; }
.evo-cca-gallery .woocommerce-product-gallery__wrapper,
.evo-cca-gallery .product-gallery-slider,
.evo-cca-gallery .woocommerce-product-gallery__trigger,
.evo-cca-gallery .woocommerce-product-gallery__image--placeholder,
.evo-cca-gallery .flex-control-nav,
.evo-cca-gallery .flex-viewport,
.evo-cca-gallery .product-thumbnails,
.evo-cca-gallery .image-tools,
.evo-cca-gallery .flickity-page-dots,
.evo-cca-gallery .flickity-prev-next-button { display:none!important; }
body.evo-cca-product .woocommerce-product-gallery__image--placeholder { display:none!important; }
body.evo-cca-product .product-gallery .product-thumbnails { display:none!important; }
.evo-cca-gallery-preview { width:100%; min-width:0; text-align:left; }
.evo-cca-gallery-preview .evo-cca__preview { height:auto; aspect-ratio:1; min-height:280px; max-height:600px; }
.evo-cca-gallery-preview .evo-cca__hint { margin:.5rem 0 0; }
body.evo-cca-product .summary .price:empty { display:none; }
.evo-cca__price { border-top:1px solid #ddd; padding-top:1rem; }
.evo-cca__price strong { font-size:1.4rem; }
.evo-cca [data-status] { font-size:.9rem; margin:.75rem 0 0; }
.evo-cca__section { margin:1.25rem 0 0; padding-top:1rem; border-top:1px solid #ddd; }
.evo-cca__section figcaption { font-size:1rem; font-weight:600; color:#303841; }
.evo-cca__section img { display:block; width:100%; max-width:640px; height:auto; margin:.5rem auto; }
.evo-cca__section p { margin:.5rem 0 0; font-size:.8rem; font-weight:400; line-height:1.45; color:#5b6570; }
@media (max-width:600px) { .evo-cca__profile-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:480px) { .evo-cca__fields { grid-template-columns:1fr; } .evo-cca { padding:1rem; } .evo-cca__preview { height:260px; } }
