/* CARIPVCARD 12.0 · plantillas por rubro, buscador, carrusel, fondo temático y dark mode mejorado */

/* ---------- buscador y biblioteca de plantillas ---------- */
.template-library-tools{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:12px 0 16px}
.template-search-box{position:relative;flex:1;min-width:220px}
.template-search-box i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#7c84a0;font-size:13px}
.template-search-box input{width:100%;height:46px;border-radius:14px;border:1px solid #dadcef;background:#fff;padding:0 16px 0 42px;font:600 14px/1 'Plus Jakarta Sans',sans-serif;color:#1c2440}
.template-search-box input:focus{outline:none;border-color:#7058ee;box-shadow:0 0 0 4px rgba(112,88,238,.12)}
.template-library-hint{font-size:12px;color:#697086;font-weight:600}
.template-more-btn{margin:8px auto 0;display:flex;align-items:center;gap:8px}
.template-choice.template-hidden{display:none!important}
.v10-template-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.template-choice-caption small{display:block}

/* ---------- fichas destacadas más completas ---------- */
.featured-profile-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.featured-profile-card{min-height:560px!important;display:flex;flex-direction:column}
.featured-profile-cover{height:240px!important;flex-basis:240px!important}
.featured-profile-body{padding:74px 22px 24px!important;display:flex;flex-direction:column;gap:10px;flex:1}
.featured-profile-body h3{font-size:16px!important;line-height:1.3}
.featured-profile-body>p{font-size:12px!important;line-height:1.55;min-height:34px!important}
.featured-profile-link{margin-top:auto;font-size:11px!important}

/* ---------- modo oscuro más legible ---------- */
html[data-theme="dark"] body,
html[data-theme="dark"] .content-wrap,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .editor-section,
html[data-theme="dark"] .account-card,
html[data-theme="dark"] .modal-card,
html[data-theme="dark"] .template-library-body,
html[data-theme="dark"] .preview-phone,
html[data-theme="dark"] .qr-preview-card,
html[data-theme="dark"] .share-settings-card{color:#eef2ff!important}
html[data-theme="dark"] .panel,
html[data-theme="dark"] .modal-card,
html[data-theme="dark"] .account-card,
html[data-theme="dark"] .editor-section,
html[data-theme="dark"] .smart-card,
html[data-theme="dark"] .preview-phone,
html[data-theme="dark"] .template-library summary,
html[data-theme="dark"] .template-library-body{background:linear-gradient(180deg,#12172a,#0e1324)!important;border-color:#232a42!important;box-shadow:0 20px 50px rgba(0,0,0,.28)!important}
html[data-theme="dark"] p,
html[data-theme="dark"] small,
html[data-theme="dark"] span,
html[data-theme="dark"] label,
html[data-theme="dark"] .template-library-note span,
html[data-theme="dark"] .editor-section-head p,
html[data-theme="dark"] .field-title,
html[data-theme="dark"] .upload-guidance span,
html[data-theme="dark"] .upload-guidance small{color:#b9c2df!important}
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] strong,
html[data-theme="dark"] .topbar-title strong,
html[data-theme="dark"] .template-choice-caption strong{color:#fff!important}
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .template-search-box input,
html[data-theme="dark"] .slug-input,
html[data-theme="dark"] .color-control,
html[data-theme="dark"] .file-drop{background:#0d1325!important;border-color:#2a3350!important;color:#f3f5ff!important}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder{color:#7f89aa!important}
html[data-theme="dark"] .upload-guidance,
html[data-theme="dark"] .template-library-note{background:linear-gradient(180deg,#121936,#161d3d)!important;border-color:#303a64!important}
html[data-theme="dark"] .modern-table th,
html[data-theme="dark"] .modern-table td{color:#e9edff!important}
html[data-theme="dark"] .modern-table tr{border-color:#26304b!important}
html[data-theme="dark"] .ghost-btn,
html[data-theme="dark"] .icon-btn,
html[data-theme="dark"] .mini-switch,
html[data-theme="dark"] .template-choice{background:#12182c!important;border-color:#2b3554!important;color:#edf0ff!important}
html[data-theme="dark"] .template-choice.selected{box-shadow:0 0 0 3px rgba(113,87,239,.18)!important}

/* ---------- vista pública: fondos temáticos y efectos ---------- */
.profile-canvas.v12-pattern-enabled .profile-card-public{backdrop-filter:blur(18px) saturate(1.08);box-shadow:0 28px 90px rgba(14,21,48,.18)}
.profile-canvas.v12-pattern-enabled .profile-cover::after{content:"";position:absolute;inset:0;opacity:.12;background-repeat:repeat;background-size:110px 110px;pointer-events:none}
body.theme-dental .profile-canvas.v12-pattern-enabled .profile-cover::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110' height='110' viewBox='0 0 110 110'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.58' stroke-width='4'%3E%3Cpath d='M32 25c6-5 12-7 18-7s12 2 18 7c7 6 10 14 9 23-2 14-9 34-16 34-4 0-5-5-6-9-1-5-2-10-5-10s-4 5-5 10c-1 4-2 9-6 9-7 0-14-20-16-34-1-9 2-17 9-23z'/%3E%3C/g%3E%3C/svg%3E")}
body.theme-food .profile-canvas.v12-pattern-enabled .profile-cover::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='%23ffffff' fill-opacity='.16'%3E%3Cpath d='M37 25c11 0 19 8 19 19 0 10-6 19-15 23l7 16-8 4-8-18c-8-4-13-12-13-21 0-13 8-23 18-23zm43 0c6 0 11 5 11 11v15h6v8h-6v27h-9V25h-2z'/%3E%3C/g%3E%3C/svg%3E")}
body.theme-legal .profile-canvas.v12-pattern-enabled .profile-cover::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.34' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M60 24v54M35 34h50M28 42l-10 18h20L28 42zm64 0L82 60h20L92 42zM38 86h44'/%3E%3C/g%3E%3C/svg%3E")}
body.theme-medical .profile-canvas.v12-pattern-enabled .profile-cover::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110' height='110' viewBox='0 0 110 110'%3E%3Cg fill='%23ffffff' fill-opacity='.18'%3E%3Cpath d='M47 25h16v16h16v16H63v16H47V57H31V41h16z'/%3E%3C/g%3E%3C/svg%3E")}
body.theme-beauty .profile-canvas.v12-pattern-enabled .profile-cover::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.3' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M35 35l25 25M60 35L35 60M62 24l8 8M24 62l8 8M70 70c12 0 20 8 20 20'/%3E%3C/g%3E%3C/svg%3E")}
body.theme-education .profile-canvas.v12-pattern-enabled .profile-cover::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='%23ffffff' fill-opacity='.18'%3E%3Cpath d='M60 28l34 16-34 16-34-16 34-16zm-17 24v10c0 8 34 8 34 0V52l-17 8-17-8z'/%3E%3C/g%3E%3C/svg%3E")}
body.theme-corporate .profile-canvas.v12-pattern-enabled .profile-cover::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.18' stroke-width='3'%3E%3Cpath d='M24 76V40l16-8v44m8 0V28l16-8v56m8 0V48l16-8v36'/%3E%3C/g%3E%3C/svg%3E")}
body.theme-travel .profile-canvas.v12-pattern-enabled .profile-cover::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='%23ffffff' fill-opacity='.16'%3E%3Cpath d='M66 22l12 12-16 13 19 7-4 8-22-8-15 12 5 10-6 5-10-8-11 8 8-11-8-10 5-6 10 5 12-15-8-22 8-4 7 19z'/%3E%3C/g%3E%3C/svg%3E")}
body.theme-home .profile-canvas.v12-pattern-enabled .profile-cover::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.25' stroke-width='4' stroke-linejoin='round'%3E%3Cpath d='M26 58l34-24 34 24M36 52v30h48V52'/%3E%3C/g%3E%3C/svg%3E")}
body.theme-tech .profile-canvas.v12-pattern-enabled .profile-cover::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.24' stroke-width='3'%3E%3Ccircle cx='30' cy='30' r='4'/%3E%3Ccircle cx='90' cy='30' r='4'/%3E%3Ccircle cx='60' cy='60' r='4'/%3E%3Ccircle cx='30' cy='90' r='4'/%3E%3Ccircle cx='90' cy='90' r='4'/%3E%3Cpath d='M34 30h48M30 34v52M90 34v52M34 90h52M34 34l22 22m4 4l26 26'/%3E%3C/g%3E%3C/svg%3E")}
body.theme-pet .profile-canvas.v12-pattern-enabled .profile-cover::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='%23ffffff' fill-opacity='.16'%3E%3Ccircle cx='40' cy='37' r='9'/%3E%3Ccircle cx='78' cy='37' r='9'/%3E%3Ccircle cx='28' cy='56' r='8'/%3E%3Ccircle cx='90' cy='56' r='8'/%3E%3Cpath d='M60 50c12 0 24 10 24 22 0 10-9 18-24 18S36 82 36 72c0-12 12-22 24-22z'/%3E%3C/g%3E%3C/svg%3E")}
body.theme-sports .profile-canvas.v12-pattern-enabled .profile-cover::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.22' stroke-width='4'%3E%3Ccircle cx='60' cy='60' r='30'/%3E%3Cpath d='M60 30c8 8 12 18 12 30s-4 22-12 30c-8-8-12-18-12-30s4-22 12-30zM30 60h60M39 42l42 36M39 78l42-36'/%3E%3C/g%3E%3C/svg%3E")}
body.theme-hospitality .profile-canvas.v12-pattern-enabled .profile-cover::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='%23ffffff' fill-opacity='.16'%3E%3Cpath d='M34 25h52v8H34zm8 16h36v40H42zm10 10h16v20H52z'/%3E%3C/g%3E%3C/svg%3E")}

.profile-main{animation:v12FloatIn .56s ease both}
.profile-section{animation:v12FadeUp .45s ease both}
.profile-section:nth-child(2){animation-delay:.04s}.profile-section:nth-child(3){animation-delay:.08s}.profile-section:nth-child(4){animation-delay:.12s}
@keyframes v12FloatIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes v12FadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.profile-quick-actions a,.profile-primary-buttons button,.profile-primary-buttons a,.social-grid a,.profile-service-link,.public-document-list a{transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease}
.profile-quick-actions a:hover,.profile-primary-buttons button:hover,.social-grid a:hover,.profile-service-link:hover,.public-document-list a:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(35,42,76,.12)}

/* ---------- carrusel multimedia ---------- */
.media-carousel-shell{position:relative}
.media-carousel-head{display:flex;justify-content:flex-end;gap:8px;margin:-8px 0 14px}
.media-carousel-head button{width:42px;height:42px;border:1px solid rgba(31,41,55,.08);border-radius:14px;background:#fff;color:#28304c;cursor:pointer;box-shadow:0 12px 25px rgba(15,23,42,.06)}
.public-media-carousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:thin}
.public-media-carousel .public-media-item{min-width:min(360px,88vw);max-width:min(360px,88vw);scroll-snap-align:start}
.public-media-carousel .public-media-item.image img,.public-media-carousel .public-media-item video,.public-media-carousel .video-ratio{border-radius:22px;overflow:hidden}
.public-media-carousel .public-media-item figcaption{padding-top:8px}

/* ---------- preview y fondos por tema en miniaturas ---------- */
[data-use-template-pattern]:has(input:checked) .switch-pill{background:#f1efff;color:#5a43d2}
.theme-preview-dental .mini-vcard-cover{background:linear-gradient(135deg,#54b8ff,#89d9ff)!important}.theme-preview-food .mini-vcard-cover{background:linear-gradient(135deg,#ff8a3d,#ffb36a)!important}.theme-preview-legal .mini-vcard-cover{background:linear-gradient(135deg,#262b36,#575f72)!important}.theme-preview-medical .mini-vcard-cover{background:linear-gradient(135deg,#1ec7c9,#86ebd6)!important}.theme-preview-beauty .mini-vcard-cover{background:linear-gradient(135deg,#ef7bb3,#f8b5d6)!important}.theme-preview-education .mini-vcard-cover{background:linear-gradient(135deg,#6a55ff,#9a85ff)!important}.theme-preview-corporate .mini-vcard-cover{background:linear-gradient(135deg,#2758cc,#5a88f2)!important}.theme-preview-travel .mini-vcard-cover{background:linear-gradient(135deg,#23a2d8,#6ad1eb)!important}.theme-preview-home .mini-vcard-cover{background:linear-gradient(135deg,#12b981,#6bd7ac)!important}.theme-preview-tech .mini-vcard-cover{background:linear-gradient(135deg,#0f172a,#2563eb)!important}.theme-preview-pet .mini-vcard-cover{background:linear-gradient(135deg,#9a74ff,#d5b5ff)!important}.theme-preview-sports .mini-vcard-cover{background:linear-gradient(135deg,#ff5f6d,#ff9c7a)!important}.theme-preview-hospitality .mini-vcard-cover{background:linear-gradient(135deg,#c49345,#e6c98a)!important}

.template-guidance-switch{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid #e5e7f2;border-radius:16px;background:#fff}
.template-guidance-switch strong{display:block;font-size:13px;color:#20263a}
.template-guidance-switch small{display:block;font-size:11px;color:#7b8399}
.switch-pill{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border-radius:999px;background:#f5f6fb;font-weight:700;color:#5c6480}
.switch-pill i{font-size:15px}

/* ---------- responsive ---------- */
@media(max-width:1180px){.featured-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.featured-profile-card{min-height:540px!important}}
@media(max-width:940px){.featured-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v10-template-picker{grid-template-columns:1fr}.public-media-carousel .public-media-item{min-width:min(320px,86vw);max-width:min(320px,86vw)}}
@media(max-width:640px){.featured-profile-grid{grid-template-columns:1fr}.featured-profile-card{min-height:530px!important}.template-library-tools{flex-direction:column;align-items:stretch}.media-carousel-head{justify-content:space-between}.public-media-carousel .public-media-item{min-width:84vw;max-width:84vw}}

.switch-pill{position:relative;cursor:pointer}.switch-pill input{position:absolute;inset:0;opacity:0;pointer-events:none}
