/* Redenn Visa Toolkit — component styles. Brand values come from the theme via --rv-* variables. */
.rvt-grid{display:grid;gap:var(--rv-gap,24px);grid-template-columns:repeat(var(--rvt-cols,3),minmax(0,1fr))}
.rvt-grid--1{--rvt-cols:1}.rvt-grid--2{--rvt-cols:2}.rvt-grid--3{--rvt-cols:3}.rvt-grid--4{--rvt-cols:4}.rvt-grid--5{--rvt-cols:5}.rvt-grid--6{--rvt-cols:6}
@media (max-width:1024px){.rvt-grid--4,.rvt-grid--5,.rvt-grid--6{--rvt-cols:3}}
@media (max-width:800px){.rvt-grid{--rvt-cols:2}.rvt-grid.rvt-stories{--rvt-cols:1}}
@media (max-width:560px){.rvt-grid{--rvt-cols:1}.rvt-grid.rvt-destinations{--rvt-cols:2;gap:12px}}

.rvt-empty{padding:16px;border:1px dashed var(--rv-border,#ddd);border-radius:10px;color:var(--rv-muted,#666)}

/* Service cards */
.rvt-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--rv-border,#e5e0d8);border-radius:var(--rv-radius,14px);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.rvt-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px -18px rgba(15,27,45,.35)}
.rvt-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--rv-surface,#f6f3ee)}
.rvt-card .rvt-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;border-radius:0}
.rvt-card:hover .rvt-card__media img{transform:scale(1.04)}
.rvt-card__body{display:flex;flex-direction:column;gap:10px;padding:20px 22px 22px;flex:1}
.rvt-card__title{margin:0;font-family:var(--rv-font-head,Georgia,serif);font-size:1.3rem;line-height:1.25;font-weight:600}
.rvt-card__title a{color:var(--rv-ink,#0f1b2d);text-decoration:none}
.rvt-card__title a:hover{color:var(--rv-accent,#c2410c)}
.rvt-card__text{margin:0;color:var(--rv-muted,#556070);font-size:.97rem;line-height:1.6}
.rvt-pill{align-self:flex-start;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--rv-teal,#0f766e);background:color-mix(in srgb,var(--rv-teal,#0f766e) 10%,#fff);padding:4px 10px;border-radius:99px}
.rvt-facts-inline{list-style:none;margin:4px 0 0;padding:12px 0 0;border-top:1px solid var(--rv-border,#e5e0d8);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;font-size:.92rem;font-weight:600;color:var(--rv-ink,#0f1b2d)}
.rvt-facts-inline span{display:block;font-size:.72rem;font-weight:500;color:var(--rv-muted,#556070);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}
.rvt-link{margin-top:auto;padding-top:6px;font-weight:600;color:var(--rv-accent,#c2410c);text-decoration:none}
.rvt-link:hover{text-decoration:underline}

/* Destination cards */
.rvt-grid .rvt-dest,.rvt-grid .rvt-dest:hover{color:#fff}
.rvt-dest{position:relative;display:block;aspect-ratio:3/4;border-radius:var(--rv-radius,14px);overflow:hidden;color:#fff;text-decoration:none;isolation:isolate;background:var(--rv-primary,#12355b)}
.rvt-dest .rvt-dest__img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .6s ease;z-index:-2;border-radius:0}
.rvt-dest:hover .rvt-dest__img{transform:scale(1.06)}
.rvt-dest__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,36,64,0) 35%,rgba(11,36,64,.88) 100%)}
.rvt-dest__body{position:absolute;left:0;right:0;bottom:0;padding:18px;display:flex;flex-direction:column;gap:4px}
.rvt-dest__name{font-family:var(--rv-font-head,Georgia,serif);font-size:1.45rem;font-weight:600;line-height:1.1}
.rvt-dest__tag{font-size:.88rem;opacity:.9;line-height:1.35}
.rvt-dest__routes{margin-top:6px;align-self:flex-start;font-size:.75rem;font-weight:600;background:rgba(255,255,255,.18);backdrop-filter:blur(4px);padding:4px 10px;border-radius:99px}
.rvt-dest:focus-visible{outline:3px solid var(--rv-accent,#c2410c);outline-offset:3px}

/* Stories */
.rvt-story{position:relative;margin:0;padding:28px 26px 24px;background:#fff;border:1px solid var(--rv-border,#e5e0d8);border-radius:var(--rv-radius,14px);display:flex;flex-direction:column;gap:20px}
.rvt-story__quote{margin:0;padding:0;border:0;font-family:var(--rv-font-head,Georgia,serif);font-size:1.12rem;line-height:1.55;color:var(--rv-ink,#0f1b2d);font-style:normal}
.rvt-story__quote::before{content:"\201C";display:block;font-size:3rem;line-height:.6;color:var(--rv-accent,#c2410c);margin-bottom:8px}
.rvt-story__by{font-style:normal;display:flex;align-items:center;gap:12px;margin-top:auto;font-size:.95rem;color:var(--rv-ink,#0f1b2d)}
.rvt-story__avatar{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--rv-primary,#12355b);color:#fff;font-weight:700}
.rvt-story__outcome{display:block;color:var(--rv-muted,#556070);font-size:.85rem}
.rvt-sample{position:absolute;top:14px;right:14px;font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--rv-muted,#556070);background:var(--rv-surface,#f6f3ee);padding:3px 8px;border-radius:6px}

/* Facts */
.rvt-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.rvt-fact{background:#fff;border:1px solid var(--rv-border,#e5e0d8);border-radius:12px;padding:16px 18px}
.rvt-fact__label{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--rv-muted,#556070);margin-bottom:4px}
.rvt-fact__value{font-weight:600;color:var(--rv-ink,#0f1b2d)}

/* Form */
.rvt-form-wrap{background:#fff;border-radius:calc(var(--rv-radius,14px) + 4px);padding:clamp(20px,3vw,34px);box-shadow:0 24px 60px -30px rgba(15,27,45,.45);color:var(--rv-ink,#0f1b2d)}
.rvt-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
@media (max-width:640px){.rvt-form__grid{grid-template-columns:1fr}}
.rvt-field{margin:0;display:flex;flex-direction:column;gap:6px}
.rvt-field--full{grid-column:1/-1}
.rvt-field label{font-size:.85rem;font-weight:600}
.rvt-form input[type=text],.rvt-form input[type=email],.rvt-form input[type=tel],.rvt-form select,.rvt-form textarea{width:100%;font:inherit;font-size:1rem;color:var(--rv-ink,#0f1b2d);background:#fff;border:1px solid #cfc9be;border-radius:10px;padding:11px 12px;min-height:46px;box-sizing:border-box}
.rvt-form textarea{min-height:90px;resize:vertical}
.rvt-form input:focus,.rvt-form select:focus,.rvt-form textarea:focus{outline:none;border-color:var(--rv-primary,#12355b);box-shadow:0 0 0 3px color-mix(in srgb,var(--rv-primary,#12355b) 18%,transparent)}
.rvt-consent{margin:16px 0 0;font-size:.88rem;color:var(--rv-muted,#556070)}
.rvt-consent input{margin-right:6px;accent-color:var(--rv-primary,#12355b)}
.rvt-actions{margin:16px 0 0}
.rvt-license{margin:12px 0 0;font-size:.8rem;color:var(--rv-muted,#556070)}
.rvt-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.rvt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:600;font-size:1rem;border:0;border-radius:10px;padding:14px 22px;cursor:pointer;text-decoration:none;transition:background .2s ease,transform .1s ease}
.rvt-btn:active{transform:translateY(1px)}
.rvt-form .rvt-btn--primary,.rvt-form-wrap .rvt-btn--primary{background:var(--rv-accent,#c2410c);color:#fff;width:100%;border:0;border-radius:10px;padding:16px 22px;font-weight:600;font-size:1.02rem}
.rvt-form .rvt-btn--primary:hover,.rvt-form .rvt-btn--primary:focus{background:var(--rv-accent-dark,#9a3412);color:#fff}
.rvt-btn--wa{background:#128c4a;color:#fff}
.rvt-btn--wa:hover{background:#0d6f3a;color:#fff}
.rvt-alert{border-radius:12px;padding:16px 18px;margin-bottom:16px}
.rvt-alert p{margin:6px 0 0}
.rvt-alert--ok{background:#ecfdf3;border:1px solid #a6e4bf;color:#0b4a2b}
.rvt-alert--err{background:#fef2f2;border:1px solid #f5b5b5;color:#7f1d1d}

/* Floating WhatsApp */
.rvt-wa-float{position:fixed;right:18px;bottom:18px;z-index:999;display:flex;align-items:center;gap:8px;background:#128c4a;color:#fff;text-decoration:none;font-weight:600;padding:12px 16px 12px 12px;border-radius:99px;box-shadow:0 10px 30px -10px rgba(0,0,0,.45)}
.rvt-wa-float:hover{background:#0d6f3a;color:#fff}
@media (max-width:560px){.rvt-wa-float span{display:none}.rvt-wa-float{padding:12px}}
@media (prefers-reduced-motion:reduce){.rvt-card,.rvt-card__media img,.rvt-dest__img{transition:none}}

.rvt-story__by strong{font-style:normal}
.rvt-facts-inline li{min-width:0}

/* Elementor flex containers: never let toolkit widgets shrink below their content (aspect-ratio cards). */
.elementor-widget-rvt-destinations,.elementor-widget-rvt-services,.elementor-widget-rvt-stories,.elementor-widget-rvt-assessment{flex-shrink:0;width:100%}

/* Filter chips */
.rvt-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.rvt-chips .rvt-chip{font:inherit;font-size:.9rem;font-weight:600;color:var(--rv-ink,#0f1b2d);background:#fff;border:1px solid var(--rv-border,#e5e0d8);border-radius:99px;padding:9px 16px;cursor:pointer;transition:all .2s ease;line-height:1}
.rvt-chips .rvt-chip:hover{border-color:var(--rv-ink,#0f1b2d);background:#fff;color:var(--rv-ink,#0f1b2d)}
.rvt-chips .rvt-chip.is-active{background:var(--rv-ink,#0f1b2d);border-color:var(--rv-ink,#0f1b2d);color:#fff}
.rvt-service[hidden]{display:none!important}

/* Bento destinations */
.rvt-bento{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:240px}
.rvt-bento .rvt-dest{aspect-ratio:auto;height:100%}
.rvt-bento .rvt-dest:first-child{grid-column:span 2;grid-row:span 2}
.rvt-bento .rvt-dest:first-child .rvt-dest__name{font-size:clamp(1.8rem,3vw,2.6rem)}
.rvt-bento .rvt-dest:first-child .rvt-dest__body{padding:28px}
@media (max-width:900px){.rvt-bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:200px}}
@media (max-width:560px){.rvt-bento{grid-auto-rows:170px;gap:10px}.rvt-bento .rvt-dest:first-child{grid-row:span 2}.rvt-dest__tag{display:none}}
.rvt-dest__go{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);font-size:1.1rem;transition:background .25s ease,transform .25s ease}
.rvt-dest:hover .rvt-dest__go{background:var(--rv-accent,#c2410c);transform:rotate(-45deg)}

/* Visa finder */
.rvt-finder{display:flex;align-items:stretch;gap:0;background:#fff;border:1px solid var(--rv-border,#e5e0d8);border-radius:16px;padding:6px;box-shadow:0 20px 50px -28px rgba(15,27,45,.5);max-width:620px}
.rvt-finder__part{flex:1;display:flex;flex-direction:column;justify-content:center;padding:6px 16px;border-right:1px solid var(--rv-border,#e5e0d8);margin:0;min-width:0}
.rvt-finder__part:nth-of-type(2){border-right:0}
.rvt-finder__label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--rv-muted,#5b6676)}
.rvt-finder select{appearance:none;-webkit-appearance:none;border:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' stroke='%230f1b2d' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") right center/16px no-repeat;padding:2px 22px 2px 0;font:inherit;font-family:var(--rv-font-head,Georgia,serif);font-size:1.15rem;font-weight:600;color:var(--rv-ink,#0f1b2d);cursor:pointer;width:100%;min-height:0;box-shadow:none}
.rvt-finder select:focus{outline:2px solid var(--rv-accent,#c2410c);outline-offset:4px;border-radius:4px}
.rvt-finder .rvt-finder__go{flex:none;border:0;border-radius:11px;background:var(--rv-accent,#c2410c);color:#fff;font:inherit;font-weight:600;font-size:1rem;padding:0 22px;cursor:pointer;transition:background .2s ease;white-space:nowrap}
.rvt-finder .rvt-finder__go:hover,.rvt-finder .rvt-finder__go:focus{background:var(--rv-accent-dark,#9a3412);color:#fff}
@media (max-width:600px){.rvt-finder{flex-direction:column;padding:8px}.rvt-finder__part{border-right:0;border-bottom:1px solid var(--rv-border,#e5e0d8);padding:10px 12px}.rvt-finder__part:nth-of-type(2){border-bottom:0}.rvt-finder .rvt-finder__go{padding:15px}}
