/**
 * Location Section for Elementor.
 * ID-er bodle class, jate ek page-e ekadhik widget cholte pare.
 * Layout-er man gulo variable kora, jate Elementor-er control shorasori kaj kore.
 */

.chows-location{
  --cl-accent:var(--e-global-color-accent,#C49F2E);
  --cl-gold:var(--e-global-color-ac81d8c,#C9A45C);
  --cl-hair:var(--e-global-color-4ea990f,#C9A45C4D);
  --cl-cream:var(--e-global-color-19f77ba,#F5E8D0);
  --cl-text:var(--e-global-color-text,#B8AA96);
  --cl-muted:var(--e-global-color-b2c95a1,#847766);
  --cl-ink:var(--e-global-color-primary,#0E0D0B);
  --cl-ink-2:var(--e-global-color-secondary,#1A1713);
  --cl-tagbg:var(--e-global-color-de442a4,#0E0D0BD1);

  --cl-display:var(--e-global-typography-primary-font-family,"Cormorant Garamond"),serif;
  --cl-body:var(--e-global-typography-text-font-family,"Inter"),sans-serif;

  --cl-chamfer:18px;
  --cl-maxw:1240px;
  --cl-ratio:4/5.1;
  --cl-left:.86fr;
  --cl-gap:clamp(34px,5vw,68px);
  --cl-btn-chamfer:11px;

  background:transparent;
  color:var(--cl-text);
  font-family:var(--cl-body);
  font-size:var(--e-global-typography-text-font-size,16px);
  font-weight:var(--e-global-typography-text-font-weight,400);
  line-height:var(--e-global-typography-text-line-height,1.7em);
  padding:clamp(40px,4vw,100px) clamp(20px,5vw,80px);
  -webkit-font-smoothing:antialiased;
  text-align:left;
}
.chows-location *{box-sizing:border-box;margin:0;padding:0}

.chows-location .cl-wrap{
  max-width:var(--cl-maxw);margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,var(--cl-left)) 1px minmax(0,1fr);
  gap:0 var(--cl-gap);
  align-items:start;
}
.chows-location.cl--norule .cl-wrap{grid-template-columns:minmax(0,var(--cl-left)) minmax(0,1fr)}
.chows-location.cl--nomedia .cl-wrap{grid-template-columns:minmax(0,1fr)}

/* ---------- left: media ---------- */
.chows-location .cl-frame{
  position:relative;padding:1px;
  background:linear-gradient(160deg,var(--cl-gold),rgba(201,164,92,.1) 46%,rgba(196,159,46,.5));
  clip-path:polygon(var(--cl-chamfer) 0,calc(100% - var(--cl-chamfer)) 0,100% var(--cl-chamfer),100% calc(100% - var(--cl-chamfer)),calc(100% - var(--cl-chamfer)) 100%,var(--cl-chamfer) 100%,0 calc(100% - var(--cl-chamfer)),0 var(--cl-chamfer));
}
.chows-location .cl-media{
  position:relative;aspect-ratio:var(--cl-ratio);overflow:hidden;
  background:var(--cl-ink-2);
  clip-path:polygon(var(--cl-chamfer) 0,calc(100% - var(--cl-chamfer)) 0,100% var(--cl-chamfer),100% calc(100% - var(--cl-chamfer)),calc(100% - var(--cl-chamfer)) 100%,var(--cl-chamfer) 100%,0 calc(100% - var(--cl-chamfer)),0 var(--cl-chamfer));
}
.chows-location .cl-media img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;display:block;max-width:none;border-radius:0;
}
.chows-location .cl-veil{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(14,13,11,.94) 0%,rgba(14,13,11,.12) 48%,rgba(14,13,11,.34) 100%);
}
.chows-location .cl-tag{
  position:absolute;top:0;left:clamp(20px,4vw,36px);
  padding:9px 15px;
  background:var(--cl-tagbg);
  border:1px solid var(--cl-hair);border-top:none;
  font-family:var(--cl-body);
  font-size:var(--e-global-typography-ae05c6e-font-size,12px);
  font-weight:var(--e-global-typography-ae05c6e-font-weight,600);
  text-transform:uppercase;
  letter-spacing:var(--e-global-typography-ae05c6e-letter-spacing,3px);
  color:var(--cl-accent);
}
.chows-location .cl-caption{
  position:absolute;left:clamp(20px,4vw,36px);right:clamp(20px,4vw,36px);
  bottom:clamp(24px,4vw,40px);
  display:flex;flex-direction:column;gap:14px;
}
.chows-location .cl-caption svg{width:40px;height:48px}
.chows-location .cl-caption p{
  font-family:var(--cl-display);
  font-size:clamp(22px,2.4vw,var(--e-global-typography-5ca5782-font-size,26px));
  font-weight:var(--e-global-typography-5ca5782-font-weight,500);
  line-height:1.25em;letter-spacing:-.5px;
  color:var(--cl-cream);
}

/* ---------- divider ---------- */
.chows-location .cl-rule{
  align-self:stretch;
  background:linear-gradient(to bottom,transparent,var(--cl-hair) 14%,rgba(201,164,92,.08) 88%,transparent);
}

/* ---------- right: details ---------- */
.chows-location .cl-eyebrow{
  display:flex;align-items:center;gap:13px;
  margin-bottom:clamp(10px,1.6vw,16px);
  font-size:var(--e-global-typography-ae05c6e-font-size,12px);
  font-weight:var(--e-global-typography-ae05c6e-font-weight,600);
  text-transform:uppercase;
  letter-spacing:var(--e-global-typography-ae05c6e-letter-spacing,3px);
  color:var(--cl-accent);
}
.chows-location .cl-eyebrow svg{width:26px;height:26px;flex:none}

.chows-location .cl-title{
  font-family:var(--cl-display);
  font-size:clamp(44px,5.6vw,var(--e-global-typography-primary-font-size,72px));
  font-weight:var(--e-global-typography-primary-font-weight,600);
  line-height:var(--e-global-typography-primary-line-height,1.15em);
  letter-spacing:var(--e-global-typography-primary-letter-spacing,-.5px);
  text-transform:capitalize;
  color:var(--cl-cream);
  margin-bottom:clamp(26px,3.6vw,42px);
}
.chows-location .cl-title em{
  display:block;
  font-size:var(--e-global-typography-accent-font-size,22px);
  font-weight:var(--e-global-typography-accent-font-weight,600);
  font-style:italic;
  line-height:1em;letter-spacing:0;
  color:var(--cl-accent);
  margin-bottom:.55em;
}

.chows-location .cl-block{margin-bottom:clamp(26px,3.2vw,38px)}
.chows-location .cl-block:last-child{margin-bottom:0}
.chows-location .cl-label{
  display:flex;align-items:center;gap:14px;margin-bottom:14px;
  font-size:var(--e-global-typography-ae05c6e-font-size,12px);
  font-weight:var(--e-global-typography-ae05c6e-font-weight,600);
  text-transform:uppercase;
  letter-spacing:var(--e-global-typography-ae05c6e-letter-spacing,3px);
  color:var(--cl-accent);
  line-height:1;
}
.chows-location .cl-label::after{
  content:"";flex:1;height:1px;
  background:linear-gradient(to right,var(--cl-hair),transparent);
}

.chows-location .cl-addr-row{display:flex;gap:clamp(18px,2.6vw,32px);align-items:flex-start;flex-wrap:wrap}
.chows-location .cl-grid{width:110px;height:110px;flex:none}
.chows-location .cl-grid .cl-pin{transform-origin:center;animation:cl-ping 3s ease-out infinite}
.chows-location .cl-addr{
  font-family:var(--cl-display);
  font-size:var(--e-global-typography-5ca5782-font-size,26px);
  font-weight:var(--e-global-typography-5ca5782-font-weight,500);
  line-height:1.35em;letter-spacing:-.5px;text-transform:none;
  color:var(--cl-cream);max-width:20ch;
}
.chows-location .cl-addr b{
  font-weight:600;color:#fff;
  border-bottom:1px solid var(--cl-gold);padding-bottom:1px;
}
.chows-location .cl-coords{
  margin-top:14px;
  font-size:var(--e-global-typography-5493259-font-size,13px);
  letter-spacing:1.5px;color:var(--cl-muted);
}

.chows-location .cl-maps{
  display:inline-flex;align-items:center;gap:11px;
  margin-top:24px;padding:15px 28px;
  background:transparent;border:1px solid var(--cl-gold);
  color:var(--cl-cream);
  font-family:var(--cl-body);
  font-size:var(--e-global-typography-001771d-font-size,15px);
  font-weight:var(--e-global-typography-001771d-font-weight,600);
  letter-spacing:var(--e-global-typography-001771d-letter-spacing,.5px);
  text-transform:capitalize;text-decoration:none;line-height:1;border-radius:0;
  clip-path:polygon(var(--cl-btn-chamfer) 0,100% 0,100% calc(100% - var(--cl-btn-chamfer)),calc(100% - var(--cl-btn-chamfer)) 100%,0 100%,0 var(--cl-btn-chamfer));
  transition:background .35s ease,color .35s ease,border-color .35s ease;
}
.chows-location .cl-maps svg{width:12px;height:12px;transition:transform .35s ease}
.chows-location .cl-maps:hover{background:var(--cl-accent);border-color:var(--cl-accent);color:var(--cl-ink)}
.chows-location .cl-maps:hover svg{transform:translate(3px,-3px)}
.chows-location .cl-maps:focus-visible{outline:2px solid var(--cl-accent);outline-offset:4px}

.chows-location .cl-hours{
  display:inline-flex;align-items:center;gap:12px;
  padding:12px 22px 12px 17px;
  background:var(--cl-ink-2);
  border-left:2px solid var(--cl-accent);
  font-family:var(--cl-display);
  font-size:var(--e-global-typography-4caad95-font-size,24px);
  font-weight:var(--e-global-typography-4caad95-font-weight,500);
  line-height:1.15em;letter-spacing:-.5px;
  color:var(--cl-text);
}
.chows-location .cl-dot{
  width:7px;height:7px;border-radius:50%;background:var(--cl-accent);flex:none;
  animation:cl-pulse 2.6s ease-out infinite;
}
.chows-location .cl-hours strong{font-weight:600;color:var(--cl-cream)}
.chows-location .cl-days{
  display:block;margin-top:11px;
  font-size:var(--e-global-typography-ae05c6e-font-size,12px);
  font-weight:var(--e-global-typography-ae05c6e-font-weight,600);
  text-transform:uppercase;
  letter-spacing:var(--e-global-typography-ae05c6e-letter-spacing,3px);
  color:var(--cl-muted);
}

.chows-location .cl-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:clamp(22px,3vw,40px)}
.chows-location .cl-line{
  display:block;width:fit-content;
  font-family:var(--cl-display);
  font-size:var(--e-global-typography-4caad95-font-size,24px);
  font-weight:var(--e-global-typography-4caad95-font-weight,500);
  line-height:1.5em;letter-spacing:-.5px;
  color:var(--cl-cream);text-decoration:none;box-shadow:none;
  background-image:linear-gradient(var(--cl-accent),var(--cl-accent));
  background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;
  transition:background-size .4s ease,color .3s ease;
}
.chows-location .cl-line:hover{color:var(--cl-accent);background-size:100% 1px}
.chows-location .cl-line:focus-visible{outline:1px solid var(--cl-accent);outline-offset:5px}
.chows-location .cl-note{
  margin-top:7px;
  font-size:var(--e-global-typography-5493259-font-size,13px);
  line-height:var(--e-global-typography-5493259-line-height,1.7em);
  color:var(--cl-muted);max-width:30ch;
}

.chows-location .cl-social{
  display:flex;gap:28px;flex-wrap:wrap;margin-top:clamp(28px,4vw,42px);
  padding-top:24px;border-top:1px solid var(--cl-hair);
}
.chows-location .cl-social a{
  font-family:var(--cl-body);
  font-size:var(--e-global-typography-ae05c6e-font-size,12px);
  font-weight:var(--e-global-typography-ae05c6e-font-weight,600);
  text-transform:uppercase;
  letter-spacing:var(--e-global-typography-ae05c6e-letter-spacing,3px);
  color:var(--cl-muted);text-decoration:none;
  transition:color .3s ease;
}
.chows-location .cl-social a:hover{color:var(--cl-accent)}
.chows-location .cl-social a:focus-visible{outline:1px solid var(--cl-accent);outline-offset:5px}

@keyframes cl-pulse{
  0%{box-shadow:0 0 0 0 rgba(196,159,46,.55)}
  70%{box-shadow:0 0 0 11px rgba(196,159,46,0)}
  100%{box-shadow:0 0 0 0 rgba(196,159,46,0)}
}
@keyframes cl-ping{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.45;transform:scale(1.32)}
}
.chows-location.cl--still .cl-dot,
.chows-location.cl--still .cl-grid .cl-pin{animation:none}

@media (max-width:1024px){
  .chows-location .cl-wrap,
  .chows-location.cl--norule .cl-wrap{grid-template-columns:1fr;gap:clamp(36px,6vw,54px)}
  .chows-location .cl-rule{display:none}
  .chows-location .cl-frame{max-width:520px}
}
@media (max-width:600px){
  .chows-location{--cl-chamfer:14px}
  .chows-location .cl-media{aspect-ratio:4/4.6}
  .chows-location .cl-grid{width:86px;height:86px}
  .chows-location .cl-addr{font-size:22px}
  .chows-location .cl-line,.chows-location .cl-hours{font-size:20px}
  .chows-location .cl-social{gap:18px}
}
@media (prefers-reduced-motion:reduce){
  .chows-location *,.chows-location *::after{animation:none!important;transition-duration:.01ms!important}
}
