/*
Theme Name: AMIRA MODELS
Theme URI: https://www.amira-escorts.de
Author: AMIRA MODELS
Version: 4.1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GPLv2 or later
Text Domain: amira-models
*/
:root{
  --bg:#F4F1EA;--fg:#282420;--pri:#9B7D3C;--pfg:#F4F1EA;
  --sec:#E3DDD1;--mut:#796F65;--bor:#D8CEBC;
  --gl:#C49A45;--gd:#674F23;
  --fd:'Cormorant Garamond',serif;--fb:'Montserrat',sans-serif;
  --cw:1400px;
}
*,*::before,*::after{box-sizing:border-box}
body,h1,h2,h3,h4,h5,h6,p,ul,ol,li,figure,blockquote,dl,dd{margin:0;padding:0}
body{font-family:var(--fb);background:var(--bg);color:var(--fg);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:var(--fd);font-weight:600;line-height:1.2}
a{color:var(--pri);text-decoration:none;transition:color .3s}a:hover{color:var(--gl)}
img{max-width:100%;height:auto;display:block}
html{scroll-behavior:smooth}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--pri);border-radius:3px}

.c{max-width:var(--cw);margin:0 auto;padding:0 1rem}
@media(min-width:1024px){.c{padding:0 2rem}}

.line-gold{height:1px;background:linear-gradient(to right,transparent,var(--pri),transparent)}
.tgg{background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-image:linear-gradient(135deg,hsl(36,55%,72%),hsl(36,45%,58%),hsl(36,35%,42%))}

/* Buttons: px-8 py-3 text-xs uppercase tracking-[0.2em] font-semibold */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 2rem;font-family:var(--fb);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;transition:all .3s;border:none;cursor:pointer;text-decoration:none;line-height:1}
.btn-g{background:var(--pri);color:var(--pfg)}.btn-g:hover{background:var(--gl);color:var(--pfg)}
.btn-o{background:transparent;border:1px solid var(--pri);color:var(--pri)}.btn-o:hover{background:var(--pri);color:var(--pfg)}

/* Header: fixed h-20 bg-background/90 backdrop-blur-md border-b */
.hdr{position:fixed;top:0;left:0;right:0;z-index:50;background:hsla(40,30%,96%,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--bor);transition:box-shadow .3s}
.hdr-i{display:flex;align-items:center;justify-content:space-between;height:80px;max-width:var(--cw);margin:0 auto;padding:0 1rem}
@media(min-width:1024px){.hdr-i{padding:0 2rem}}
.hdr-logo img{height:48px;width:auto;filter:brightness(0)}
@media(min-width:1024px){.hdr-logo img{height:56px}}
.nav-d{display:none;align-items:center;gap:2rem}
@media(min-width:1024px){.nav-d{display:flex}}
.nav-l{font-family:var(--fb);font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--mut);transition:color .3s;text-decoration:none}
.nav-l:hover,.nav-l.act{color:var(--pri)}
.nav-r{display:none;align-items:center;gap:1rem}
@media(min-width:1024px){.nav-r{display:flex}}
.lang-b{display:flex;align-items:center;gap:.375rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);background:0 0;border:0;cursor:pointer;font-family:var(--fb);transition:color .3s}.lang-b:hover{color:var(--pri)}
.ph-l{display:flex;align-items:center;gap:.5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--pri);font-family:var(--fb)}.ph-l:hover{color:var(--gl)}
.mob-t{display:block;background:0 0;border:0;color:var(--fg);cursor:pointer;padding:.5rem}
@media(min-width:1024px){.mob-t{display:none}}
.mob-m{display:none;background:var(--bg);border-top:1px solid var(--bor);padding:1.5rem 1rem}
.mob-m.open{display:block}
.mob-m a{display:block;padding:.5rem 0;font-size:.875rem;text-transform:uppercase;letter-spacing:.15em;color:var(--mut);transition:color .3s}
.mob-m a:hover,.mob-m a.act{color:var(--pri)}
body.has-hdr{padding-top:80px}

/* Hero: h-screen */
.hero{position:relative;height:100vh;margin-top:-80px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-ov{position:absolute;inset:0;background:hsla(40,30%,96%,.5);z-index:1}
.hero-ct{position:relative;z-index:2;text-align:center;padding:0 1rem}
/* title: text-5xl/7xl/8xl = 3rem/4.5rem/6rem, font-semibold, mb-6 */
.hero-t{font-family:var(--fd);font-size:3rem;font-weight:600;color:var(--fg);margin-bottom:1.5rem;opacity:0;animation:hfu-title 1.2s cubic-bezier(0,0,.58,1) forwards}
@media(min-width:768px){.hero-t{font-size:4.5rem}}
@media(min-width:1024px){.hero-t{font-size:6rem}}
/* subtitle: text-sm/base max-w-xl leading-relaxed mb-8 */
.hero-s{font-family:var(--fb);font-size:.875rem;color:var(--mut);max-width:36rem;margin:0 auto 2rem;line-height:1.625;opacity:0;animation:hfu-sub 1s cubic-bezier(0,0,.58,1) .4s forwards}
@media(min-width:768px){.hero-s{font-size:1rem}}
.hero-cta{opacity:0;animation:hfu-cta .8s cubic-bezier(0,0,.58,1) .8s forwards}
@keyframes hfu-title{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes hfu-sub{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes hfu-cta{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* Model Cards: aspect-[2/3] */
.mc{position:relative}.mc a{display:block;color:inherit;text-decoration:none}
.mc-img{position:relative;overflow:hidden;aspect-ratio:2/3;background:var(--sec)}
.mc-img img{width:100%;height:100%;object-fit:cover;transition:transform 700ms ease}
.mc:hover .mc-img img{transform:scale(1.05)}
.mc-ov{position:absolute;inset:0;background:linear-gradient(to top,hsla(40,30%,96%,.8),transparent,transparent);opacity:0;transition:opacity 500ms ease;pointer-events:none}
.mc:hover .mc-ov{opacity:1}
.mc-badge{position:absolute;top:.75rem;left:.75rem;z-index:10;background:var(--pri);color:var(--pfg);font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;padding:.25rem .75rem;font-family:var(--fb)}
.mc-info{padding-top:.5rem;text-align:center}
@media(min-width:768px){.mc-info{padding-top:1rem}}
.mc-name{font-family:var(--fd);font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
@media(min-width:768px){.mc-name{font-size:1.25rem}}
.mc-meta{font-size:10px;font-family:var(--fb);color:var(--mut);margin-top:.125rem;text-transform:uppercase;letter-spacing:.05em}
@media(min-width:768px){.mc-meta{font-size:.75rem;margin-top:.25rem}}

/* Category Cards: aspect-[3/2], scale-110, duration-700 */
.cc{position:relative;display:block;overflow:hidden;aspect-ratio:3/2}
.cc img{width:100%;height:100%;object-fit:cover;transition:transform 700ms ease}
.cc:hover img{transform:scale(1.1)}
.cc-grad{position:absolute;inset:0;background:linear-gradient(to top,hsla(40,30%,96%,.9),transparent)}
.cc-badge{position:absolute;top:1rem;left:1rem;font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--pri);background:hsla(40,30%,96%,.6);backdrop-filter:blur(4px);padding:.25rem .75rem;font-family:var(--fb)}
.cc-bot{position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem;display:flex;justify-content:space-between;align-items:center}
.cc-title{font-family:var(--fd);font-size:1.25rem;font-weight:600;color:var(--fg);text-transform:uppercase}
.cc-arrow{width:2.5rem;height:2.5rem;border-radius:50%;background:var(--fg);display:flex;align-items:center;justify-content:center;transition:background .3s}
.cc:hover .cc-arrow{background:var(--pri)}
.cc-arrow svg{width:1rem;height:1rem;stroke:var(--bg);fill:none}

/* Animations: y:30, 0.6s, easeOut */
.anim{opacity:0;transform:translateY(30px);transition:opacity .6s cubic-bezier(0,0,.58,1),transform .6s cubic-bezier(0,0,.58,1)}
.anim-l{opacity:0;transform:translateX(-30px);transition:opacity .6s cubic-bezier(0,0,.58,1),transform .6s cubic-bezier(0,0,.58,1)}
.anim-r{opacity:0;transform:translateX(30px);transition:opacity .6s cubic-bezier(0,0,.58,1),transform .6s cubic-bezier(0,0,.58,1)}
.anim.vis,.anim-l.vis,.anim-r.vis{opacity:1;transform:translate(0)}

/* Grids */
.grid-3{display:grid;grid-template-columns:1fr;gap:1.5rem}
.grid-4{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.grid-5{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.grid-svc{display:grid;grid-template-columns:1fr;gap:1.5rem}
.grid-usp{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:768px){
  .grid-3{grid-template-columns:repeat(3,1fr)}
  .grid-4{grid-template-columns:repeat(4,1fr)}
  .grid-5{grid-template-columns:repeat(3,1fr)}
  .grid-svc{grid-template-columns:repeat(2,1fr)}
  .grid-usp{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:1024px){.grid-5{grid-template-columns:repeat(4,1fr)}.grid-svc{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1280px){.grid-5{grid-template-columns:repeat(5,1fr)}}

/* Filter */
.flt-bar{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding:1.5rem 0;border-bottom:1px solid var(--bor)}
.flt-btn{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;padding:.5rem 1rem;border:1px solid var(--bor);background:0 0;color:var(--mut);cursor:pointer;transition:all .3s;font-family:var(--fb)}
.flt-btn:hover{color:var(--pri);border-color:var(--pri)}
.flt-btn.act{background:var(--pri);color:var(--pfg);border-color:var(--pri)}

/* Profile */
.prof-grid{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:1024px){.prof-grid{grid-template-columns:1fr 1fr;gap:3rem}}
.prof-main{position:relative;aspect-ratio:2/3;overflow:hidden;background:var(--sec);cursor:pointer}.prof-main img{width:100%;height:100%;object-fit:cover}
.prof-thumbs{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem;margin-top:1rem;scrollbar-width:thin}
.prof-th{width:80px;height:112px;flex-shrink:0;overflow:hidden;border:2px solid transparent;cursor:pointer;transition:border-color .3s}
.prof-th.act,.prof-th:hover{border-color:var(--pri)}
.prof-th img{width:100%;height:100%;object-fit:cover}
.stat{border-bottom:1px solid var(--bor);padding-bottom:.75rem}
.stat-l{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);font-family:var(--fb)}
.stat-v{font-size:14px;color:var(--fg);margin-top:4px}
.tag{display:inline-block;font-size:12px;border:1px solid var(--bor);color:var(--mut);padding:6px 12px;text-transform:uppercase;letter-spacing:.05em;margin:0 .5rem .5rem 0}
.stag{display:inline-block;font-size:12px;background:var(--sec);color:var(--fg);border:1px solid var(--bor);padding:6px 12px;margin:0 .5rem .5rem 0}
.rate{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--bor);background:var(--sec);padding:.75rem 1rem;margin-bottom:.5rem}
.rate-d{font-size:14px;color:var(--fg)}.rate-n{font-size:12px;color:var(--mut);margin-left:.5rem}
.rate-p{font-family:var(--fd);font-size:18px;font-weight:700;color:var(--fg)}
.self-d{background:var(--sec);border-left:2px solid var(--pri);padding:1rem}
.self-d p{font-size:14px;color:var(--mut);line-height:1.7;font-style:italic;margin-bottom:.75rem}
.self-d p:last-child{margin-bottom:0}
.avail{border:1px solid hsla(36,45%,42%,.3);background:var(--sec);padding:1.25rem;position:relative;overflow:hidden;margin-bottom:2rem}
.avail-bar{position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(to right,transparent,var(--pri),transparent)}
.avail-dot{width:12px;height:12px;border-radius:50%;background:#22c55e;animation:ap 2s ease-in-out infinite;box-shadow:0 0 8px rgba(34,197,94,.5)}
@keyframes ap{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}

/* Footer: bg-secondary py-16 grid lg:grid-cols-4 gap-12 */
.ftr{background:var(--sec);border-top:1px solid var(--bor);padding:4rem 0}
.ftr-g{display:grid;grid-template-columns:1fr;gap:3rem}
@media(min-width:768px){.ftr-g{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.ftr-g{grid-template-columns:repeat(4,1fr)}}
.ftr h4{font-family:var(--fd);font-size:1.125rem;font-weight:600;margin-bottom:1rem}
.ftr-l a{display:block;font-size:14px;color:var(--mut);padding:.25rem 0;transition:color .3s}.ftr-l a:hover{color:var(--pri)}
.ftr-b{display:flex;flex-direction:column;gap:1rem;align-items:center;font-size:12px;color:var(--mut)}
@media(min-width:768px){.ftr-b{flex-direction:row;justify-content:space-between}}

/* Forms */
.fi,.fta{width:100%;background:var(--bg);border:1px solid var(--bor);padding:.75rem 1rem;font-size:14px;font-family:var(--fb);color:var(--fg);transition:border-color .3s}
.fi:focus,.fta:focus{border-color:var(--pri);outline:0}
.fl{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:var(--mut);margin-bottom:6px;font-weight:600}
.fta{min-height:100px;resize:vertical}

/* Lightbox */
.lb{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.95);display:none;align-items:center;justify-content:center}.lb.open{display:flex}.lb img{max-width:90%;max-height:90vh;object-fit:contain}
.lb-c,.lb-p,.lb-n{position:absolute;background:rgba(0,0,0,.4);color:rgba(255,255,255,.6);border:0;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;z-index:10;transition:color .3s}
.lb-c:hover,.lb-p:hover,.lb-n:hover{color:#fff}
.lb-c{top:1rem;right:1rem}.lb-p{left:1rem;top:50%;transform:translateY(-50%)}.lb-n{right:1rem;top:50%;transform:translateY(-50%)}
.lb-ds{position:absolute;bottom:1.5rem;left:0;right:0;display:flex;justify-content:center;gap:6px}
.lb-d{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);border:0;cursor:pointer;transition:background .3s}.lb-d.act{background:#fff}

/* WhatsApp: fixed bottom-6 right-6 w-14 h-14 */
.wa,.wa-btn{position:fixed;bottom:1.5rem;right:1.5rem;width:3.5rem;height:3.5rem;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.2);z-index:50;transition:transform .3s}
.wa:hover,.wa-btn:hover{transform:scale(1.1)}.wa svg,.wa-btn svg{width:1.75rem;height:1.75rem;fill:#fff}

.bc{display:flex;align-items:center;gap:.5rem;font-size:12px;color:var(--mut)}.bc a{color:var(--mut)}.bc a:hover{color:var(--pri)}.bc .cur{color:var(--fg)}
.elementor-widget-heading .elementor-heading-title{font-family:var(--fd)!important}
.elementor-widget-text-editor{font-family:var(--fb)!important;font-size:14px!important;line-height:1.7!important}
.elementor-section.elementor-section-boxed>.elementor-container{max-width:var(--cw)!important}
@media print{.hdr,.wa,.ftr,.flt-bar{display:none!important}body{padding-top:0!important}}
