@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Jost:wght@300;400;500&display=swap");
/* =====================================================================
   Universal Locations — 2026 redesign (CSS only, no layout markup changes)
   Target look: https://universal-locations-inc.web.app/
   Loaded from includes/header.php, after css/style.css, so it wins over
   style.css and its UL-BRAND-2026 V1–V13 blocks.
   Revert: remove the <link> to this file in includes/header.php.
   ===================================================================== */
:root{
  --ul-bg:#F8F6F2; --ul-bg2:#F2EFE9; --ul-bg3:#ECEAE3;
  --ul-border:#DDD9D1; --ul-border2:#C8C3B8;
  --ul-ink:#1C1A17; --ul-ink2:#3D3A35; --ul-ink3:#6B6760;
  --ul-accent:#8B6F47; --ul-accent-text:#7D6139; --ul-accent2:#B38E65; --ul-sage:#7A8C7E;
  --ul-btn:#634A45; --ul-btn-hover:#4D3935;
  --ul-serif:'Cormorant Garamond', Georgia, serif;
  --ul-sans:'Jost', 'Helvetica Neue', Arial, sans-serif;
  --ul-hdr:64px;
}
@media (min-width:768px){ :root{ --ul-hdr:140px; } }

/* ============================ Base ============================ */
html body{ background:var(--ul-bg) !important; color:var(--ul-ink); font-family:var(--ul-sans) !important; font-weight:300; -webkit-font-smoothing:antialiased; }
html body h1,html body h2,html body h3,html body h4,html body .spfont{ font-family:var(--ul-serif) !important; font-weight:300 !important; color:var(--ul-ink); letter-spacing:.01em; }
html body h2 em,html body h2 i,html body h2 span.txt-dark-gray,html body h1 em{ font-style:italic; color:var(--ul-accent2) !important; font-weight:300; }
#loader-new.sw-loader{ background:var(--ul-bg) !important; }

/* ============================ Header ============================ */
html body header nav.navbar,
html body header nav.navbar.home-header,
html body header nav.navbar.affix{
  position:fixed !important; top:0; left:0; right:0; z-index:1030;
  height:auto !important; max-height:none !important; min-height:var(--ul-hdr); margin:0 !important;
  opacity:1 !important; background:#F8F6F2 !important; background-image:none !important;
  border:0 !important; border-bottom:1px solid var(--ul-border) !important; border-radius:0 !important; box-shadow:none !important;
}
html body header nav.navbar > .container.top_header{ display:none !important; }
html body header nav.navbar > .container:not(.top_header){
  width:auto; max-width:1360px; margin:0 auto; min-height:var(--ul-hdr);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:16px 32px 10px;
}
html body header nav.navbar > .container:not(.top_header)::before,
html body header nav.navbar > .container:not(.top_header)::after{ display:none; }
html body header .navbar-header{ float:none; margin:0 !important; display:flex; align-items:center; }
html body header .navbar-brand{ float:none; height:auto; padding:0 !important; margin:0 !important; display:flex; align-items:center; }
html body header .webLogo{ width:auto !important; height:46px !important; max-width:none !important; }
html body header .navbar-collapse{ float:none; padding:0; border:0 !important; box-shadow:none !important; }
html body header .navbar-nav.navbar-right{ float:none !important; margin:0 !important; display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; gap:0 6px; }
html body header .navbar-nav > li{ float:none; }
html body header .navbar-nav > li > a,
html body header nav.home-header .navbar-nav > li > a{
  font-family:var(--ul-sans) !important; font-size:11px !important; font-weight:400 !important;
  letter-spacing:.17em !important; text-transform:uppercase; white-space:nowrap; text-decoration:none !important;
  color:var(--ul-ink3) !important; background:none !important; padding:8px 11px !important; line-height:1.4 !important; text-shadow:none !important;
}
html body header .navbar-nav > li > a:hover,
html body header .navbar-nav > li > a:focus{ color:var(--ul-ink) !important; background:none !important; }
html body header .navbar-nav > li.active > a,
html body header .navbar-nav > li.active > a:hover{ color:var(--ul-ink) !important; background:none !important; box-shadow:inset 0 -1px 0 var(--ul-accent2); }
html body header .navbar-nav > li.login-signup-link{ margin-left:10px; border:0 !important; }
html body header .navbar-nav > li.login-signup-link::before,
html body header .navbar-nav > li.login-signup-link::after,
html body header .navbar-nav > li.login-signup-link > a::before{ content:none !important; display:none !important; }
html body header .navbar-nav > li.login-signup-link > a{ border:1px solid var(--ul-border2) !important; border-radius:999px !important; padding:7px 18px !important; color:var(--ul-ink) !important; font-weight:500 !important; }
html body header .navbar-nav > li.login-signup-link > a:hover{ background:var(--ul-btn) !important; border-color:var(--ul-btn) !important; color:#fff !important; box-shadow:none; }
@media (min-width:768px) and (max-width:991px){
  html body header nav.navbar > .container:not(.top_header){ padding:14px 12px 8px; }
  html body header .navbar-nav > li > a{ padding:8px 6px !important; font-size:10px !important; letter-spacing:.1em !important; }
}
@media (max-width:767px){
  html body header nav.navbar > .container:not(.top_header){ display:block; padding:0 20px !important; }
  html body header .navbar-header{ min-height:var(--ul-hdr); justify-content:space-between; flex-direction:row-reverse; }
  html body header .webLogo{ height:auto !important; width:min(250px,64vw) !important; }
  html body header .navbar-toggle{ margin:0 !important; padding:10px 4px; border:0 !important; background:none !important; float:none; }
  html body header .navbar-toggle .icon-bar{ background:var(--ul-ink) !important; height:1px; width:22px; }
  html body header .navbar-toggle .icon-bar + .icon-bar{ margin-top:6px; }
  html body header .navbar-collapse{ margin:0 !important; padding:0 !important; }
  html body header .navbar-nav.navbar-right{ display:block; padding:4px 0 16px !important; margin:0 !important; }
  html body header .navbar-nav > li > a{ padding:13px 0 !important; font-size:12px !important; border-bottom:1px solid var(--ul-border); }
  html body header .navbar-nav > li.active > a{ box-shadow:none; color:var(--ul-accent) !important; }
  html body header .navbar-nav > li.login-signup-link{ margin:12px 0 0; }
  html body header .navbar-nav > li.login-signup-link > a{ display:inline-block; padding:9px 22px !important; }
}

/* ============================ Page tops ============================ */
html body .breadcrumb-section{ height:auto !important; min-height:0 !important; padding:calc(var(--ul-hdr) + 30px) 15px 26px !important; background:var(--ul-bg) !important; }
html body .breadcrumb-section .carousel-caption{ position:static !important; padding:0 !important; text-shadow:none !important; }
html body .breadcrumb-section .breadcrumb{ background:none !important; margin:0 !important; padding:0 !important; text-align:center; }
html body .breadcrumb-section .breadcrumb,
html body .breadcrumb-section .breadcrumb *{ font-family:var(--ul-sans) !important; font-size:11px !important; font-weight:400 !important; letter-spacing:.22em !important; text-transform:uppercase; color:var(--ul-ink3) !important; }
html body .breadcrumb-section .breadcrumb a:hover{ color:var(--ul-ink) !important; }
html body .page-contain{ padding-top:24px !important; }

/* ============================ Section headings ============================ */
html body .location-library .title h2,
html body .best-viewed .title h2,
html body .pasadena h2,
html body .title h2{ font-size:clamp(30px,3.2vw,44px) !important; line-height:1.15; margin:0 0 8px !important; text-transform:none; }
html body .location-library .title h2 a,
html body .best-viewed .title h2 a{ color:inherit !important; text-decoration:none; }
html body .location-library .title::before,
html body .best-viewed .title::before,
html body .pasadena .title::before{ content:""; display:block; width:44px; height:1px; background:var(--ul-accent2); margin:0 auto 22px; }

/* ============================ Home: hero ============================ */
html body .home-main-bannner{ position:relative; }
html body .home-main-bannner img{ filter:brightness(.72) saturate(.95); }
html body .home-main-bannner .carousel-caption{ z-index:2; text-shadow:none; }
html body .home-main-bannner .carousel-caption:has(h1)::before{
  content:"Los Angeles  ·  Santa Clarita  ·  Greater California"; display:block; margin:0 0 18px; white-space:pre;
  font-family:var(--ul-sans); font-size:11px; font-weight:400; letter-spacing:.32em; text-transform:uppercase; color:rgba(255,255,255,.8);
}
html body .home-main-bannner h1{ font-size:clamp(40px,6vw,84px) !important; font-weight:300 !important; color:#fff !important; letter-spacing:.01em; line-height:1.05; margin:0 0 34px !important; text-shadow:0 2px 24px rgba(0,0,0,.35) !important; }
html body .home-main-bannner .input-group{ max-width:620px; margin:0 auto; left:0 !important; right:auto !important; display:flex; align-items:center; background:rgba(255,255,255,.96); border-radius:999px; padding:6px 6px 6px 22px; box-shadow:0 18px 50px rgba(0,0,0,.18); }
html body .home-main-bannner .input-group input#search{ flex:1; min-width:0; height:42px; border:0 !important; background:transparent !important; box-shadow:none !important; font-size:13px !important; letter-spacing:.03em; color:var(--ul-ink); padding:0 !important; border-radius:0 !important; }
html body .home-main-bannner .input-group-btn{ width:auto; }
html body .home-main-bannner .input-group-btn button#search_datas{ height:42px; border-radius:999px !important; padding:0 22px !important; margin:0 !important; background:var(--ul-btn) !important; border:0 !important; color:#fff !important; }
@media (max-width:767px){
  html body .home-main-bannner .carousel-inner > .item > img{ height:74vh !important; min-height:460px; width:100% !important; object-fit:cover; }
  html body .home-main-bannner .carousel-caption{ left:16px !important; right:16px !important; width:auto !important; padding:0 !important; top:50% !important; bottom:auto !important; transform:translateY(-40%); }
  html body .home-main-bannner .input-group{ max-width:100%; padding:4px 4px 4px 16px; }
  html body .home-main-bannner .input-group input#search{ font-size:12px !important; }
  html body .home-main-bannner h1{ font-size:34px !important; margin-bottom:22px !important; }
  html body .home-main-bannner .carousel-caption:has(h1)::before{ font-size:9px; letter-spacing:.24em; white-space:normal; }
}

/* ============================ Home: sections ============================ */
html body .parallax{ display:none !important; }
html body .multiple-img-slider{ padding:96px 0 40px !important; background:var(--ul-bg) !important; }
html body .multiple-img-slider h2,
html body .multiple-img-slider .heroSlider-fixed::before{ font-family:var(--ul-serif) !important; font-weight:300 !important; }
html body .location-library,
html body .best-viewed{ background:var(--ul-bg) !important; padding:96px 0 80px !important; }
html body .best-viewed{ background:var(--ul-bg2) !important; }
html body .location-library .title,
html body .best-viewed .title{ margin-bottom:44px !important; text-align:center; }
html body .location-library .thumbnail,
html body .best-viewed .thumbnail{ border:0 !important; border-radius:0 !important; background:transparent !important; padding:0 !important; box-shadow:none !important; overflow:hidden; }
html body .location-library .product-img img,
html body .best-viewed img{ transition:transform .8s cubic-bezier(.2,.7,.2,1); }
html body .location-library .thumbnail:hover .product-img img,
html body .best-viewed .thumbnail:hover img{ transform:scale(1.04); }
html body .location-library .thumbnail.my-list .caption h4.group.inner.list-group-item-heading,
html body .location-library .thumbnail.my-list .caption h4.group.inner.list-group-item-heading a,
html body .location-library .thumbnail.my-list .caption a,
html body .best-viewed .thumbnail.my-list > h4,
html body .best-viewed .thumbnail.my-list > h4 > a,
html body .multiple-img-slider .slick-slide p.text-center{
  font-family:var(--ul-sans) !important; font-size:12px !important; font-weight:400 !important; letter-spacing:.26em !important;
  text-transform:uppercase !important; color:#fff !important; text-shadow:0 1px 12px rgba(0,0,0,.35) !important;
}
html body .multiple-img-slider .slick-slide p.text-center{ font-size:11px !important; letter-spacing:.3em !important; }
html body .pasadena{ padding:96px 0 !important; background:var(--ul-bg) !important; }
@media (max-width:767px){
  html body .location-library, html body .best-viewed, html body .pasadena{ padding:64px 0 56px !important; }
  html body .multiple-img-slider{ padding:64px 0 24px !important; }
}

/* ============================ Buttons ============================ */
html body .btn-primary, html body .n_btn1, html body .add-to-lightbox-btn, html body .add-project-btn, html body .uni-blue-gredient-btn{
  background:var(--ul-btn) !important; background-image:none !important; border:1px solid var(--ul-btn) !important; color:#fff !important;
  border-radius:999px !important; font-family:var(--ul-sans) !important; font-size:10.5px !important; font-weight:400 !important;
  letter-spacing:.16em !important; text-transform:uppercase; box-shadow:none !important;
}
html body .btn-primary:hover, html body .n_btn1:hover, html body .add-to-lightbox-btn:hover, html body .add-project-btn:hover{ background:var(--ul-btn-hover) !important; border-color:var(--ul-btn-hover) !important; }
html body button.uni-blue-gredient-btn, html body a.uni-blue-gredient-btn{ background:transparent !important; color:var(--ul-ink) !important; border:1px solid var(--ul-border2) !important; }
html body button.uni-blue-gredient-btn:hover, html body a.uni-blue-gredient-btn:hover{ border-color:var(--ul-ink) !important; background:transparent !important; }

/* ============================ Forms ============================ */
html body input.form-control, html body select.form-control{ font-family:var(--ul-sans) !important; font-weight:300 !important; font-size:13px !important; color:var(--ul-ink) !important; background:#fff !important; border:1px solid var(--ul-border) !important; border-radius:999px !important; box-shadow:none !important; height:40px; padding:0 16px !important; }
html body textarea.form-control{ font-family:var(--ul-sans) !important; font-weight:300 !important; border:1px solid var(--ul-border) !important; border-radius:14px !important; box-shadow:none !important; padding:12px 16px !important; }
html body input.form-control:focus, html body textarea.form-control:focus{ border-color:var(--ul-accent2) !important; }
html body select#sort_by, html body select.sort_by_data{ height:40px; border:1px solid var(--ul-border) !important; border-radius:999px !important; background-color:#fff !important; padding:0 30px 0 16px !important; font-family:var(--ul-sans) !important; font-size:12px !important; font-weight:400 !important; color:var(--ul-ink) !important; box-shadow:none !important; }
html body .bootstrap-select > .dropdown-toggle, html body .bootstrap-select > button.btn{ height:40px; border:1px solid var(--ul-border) !important; border-radius:999px !important; background:#fff !important; padding:0 18px !important; font-family:var(--ul-sans) !important; font-size:12px !important; font-weight:400 !important; letter-spacing:.02em !important; color:var(--ul-ink) !important; box-shadow:none !important; text-transform:none; }
html body .bootstrap-select .dropdown-menu{ border:1px solid var(--ul-border) !important; border-radius:8px !important; box-shadow:0 16px 40px rgba(28,26,23,.12) !important; }
html body .bootstrap-select .dropdown-menu li a{ font-family:var(--ul-sans) !important; font-size:13px !important; color:var(--ul-ink2) !important; }
html body .bootstrap-select .dropdown-menu li.selected a, html body .bootstrap-select .dropdown-menu li a:hover{ background:var(--ul-bg2) !important; color:var(--ul-ink) !important; }
html body .input-group-btn .btn, html body button.btn-default{ border-radius:999px !important; border:1px solid var(--ul-border) !important; background:#fff !important; color:var(--ul-ink2) !important; font-family:var(--ul-sans) !important; font-size:11px !important; letter-spacing:.12em !important; text-transform:uppercase; box-shadow:none !important; height:40px; }

/* ============================ Location Library ============================ */
html body .nav-tabs{ border-bottom:1px solid var(--ul-border) !important; }
html body .nav-tabs > li > a{ font-family:var(--ul-sans) !important; font-size:11px !important; font-weight:400 !important; letter-spacing:.2em !important; text-transform:uppercase; color:var(--ul-ink3) !important; background:none !important; border:0 !important; border-bottom:1px solid transparent !important; border-radius:0 !important; margin:0 22px -1px 0 !important; padding:12px 0 !important; }
html body .nav-tabs > li.active > a, html body .nav-tabs > li.active > a:hover, html body .nav-tabs > li.active > a:focus{ color:var(--ul-ink) !important; background:none !important; border:0 !important; border-bottom:1px solid var(--ul-ink) !important; }
html body .tab-content{ background:transparent !important; border:0 !important; }
html body label.btn.btn-default.tag_class{ font-family:var(--ul-sans) !important; font-size:10.5px !important; font-weight:400 !important; letter-spacing:.14em !important; text-transform:uppercase; color:var(--ul-ink2) !important; background:#fff !important; border:1px solid var(--ul-border) !important; border-radius:999px !important; padding:7px 15px !important; margin:0 6px 8px 0 !important; box-shadow:none !important; height:auto; }
html body label.btn.btn-default.tag_class:hover{ border-color:var(--ul-ink) !important; color:var(--ul-ink) !important; }
html body label.btn.btn-default.tag_class.active, html body label.btn.btn-default.tag_class:has(input:checked){ background:var(--ul-ink) !important; border-color:var(--ul-ink) !important; color:#fff !important; }
html body .list-grid-a{ color:var(--ul-ink3) !important; background:transparent !important; border:1px solid var(--ul-border) !important; border-radius:50% !important; width:38px; height:38px; display:inline-flex !important; align-items:center; justify-content:center; }
html body .list-grid-a.new_active{ background:var(--ul-ink) !important; border-color:var(--ul-ink) !important; color:#fff !important; }
html body .sidebar-light-box-text, html body .sidebar-light-box-text a{ background:var(--ul-ink) !important; color:#fff !important; font-family:var(--ul-sans) !important; font-size:11px !important; font-weight:400 !important; letter-spacing:.24em !important; text-transform:uppercase; border-radius:0 !important; }
/* list view: info card */
html body .light-box-col{ background:var(--ul-bg2) !important; border:0 !important; box-shadow:none !important; }
html body .light-box-col .light-box-title, html body .light-box-col .light-box-title a{ font-family:var(--ul-serif) !important; font-weight:400 !important; font-size:28px !important; letter-spacing:.04em !important; color:var(--ul-ink) !important; }
html body .light-box-col p, html body .light-box-col span, html body .light-box-col li{ font-family:var(--ul-sans) !important; font-size:11px !important; letter-spacing:.18em !important; text-transform:uppercase; color:var(--ul-ink3) !important; }
/* grid view: cards */
html body .new_ligh{ background:transparent !important; margin-bottom:28px !important; }
html body .new_ligh .new_im_hei{ overflow:hidden; }
html body .new_ligh .new_im_hei img{ transition:transform .8s cubic-bezier(.2,.7,.2,1); }
html body .new_ligh:hover .new_im_hei img{ transform:scale(1.04); }
html body .new_ligh .new_con_box{ background:transparent !important; border:0 !important; box-shadow:none !important; padding:14px 2px 0 !important; }
html body .new_ligh .box-con p{ font-family:var(--ul-serif) !important; font-weight:400 !important; font-size:22px !important; letter-spacing:.04em !important; color:var(--ul-ink) !important; margin:0 !important; }
html body .new_ligh .n_btn2, html body .new_ligh .zip_icon{ background:none !important; border:0 !important; color:var(--ul-ink3) !important; box-shadow:none !important; }
html body .new_ligh .n_btn2:hover, html body .new_ligh .zip_icon:hover{ color:var(--ul-accent) !important; }
html body .new_ligh .project-btnss{ display:flex; gap:8px; margin-top:10px; }
html body .new_ligh .project-btnss a{ padding:8px 16px !important; margin:0 !important; }

/* ============================ Location page ============================ */
html body .sidebar h1{ font-size:clamp(34px,3vw,46px) !important; letter-spacing:.03em !important; margin:4px 0 14px !important; }
html body .sidebar{ font-family:var(--ul-sans); color:var(--ul-ink2); }
html body .sidebar .col-sm-12 > div{ font-size:14px; letter-spacing:.02em; }
html body .sidebar .project-btnss{ display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 6px; }
html body .sidebar .project-btnss button{ padding:10px 20px !important; margin:0 !important; }
html body .sidebar hr{ border-color:var(--ul-border) !important; width:100%; margin:22px 0 !important; }
html body a.download-btn{ display:inline-flex !important; align-items:center; gap:10px; background:transparent !important; color:var(--ul-ink) !important; border:1px solid var(--ul-border2) !important; border-radius:999px !important; padding:9px 18px !important; margin:0 0 8px !important; font-family:var(--ul-sans) !important; font-size:10.5px !important; font-weight:400 !important; letter-spacing:.16em !important; text-transform:uppercase; box-shadow:none !important; text-decoration:none !important; }
html body a.download-btn i{ position:static !important; width:auto !important; height:auto !important; line-height:1 !important; font-size:12px !important; transform:none !important; color:var(--ul-accent) !important; background:none !important; padding:0 !important; margin:0 !important; border:0 !important; }
html body a.download-btn::before, html body a.download-btn::after{ content:none !important; display:none !important; }
html body a.download-btn:hover{ border-color:var(--ul-ink) !important; }
html body a.download-btn.other_btns{ padding:7px 14px !important; margin:0 0 0 6px !important; }
html body .product-list-section .btn-group .btn{ border-radius:999px !important; border:1px solid var(--ul-border) !important; background:#fff !important; font-family:var(--ul-sans) !important; font-size:11px !important; letter-spacing:.12em !important; color:var(--ul-ink2) !important; }

/* ============================ Content pages ============================ */
html body .contact-form, html body .contact-detail, html body .about-content{ box-shadow:none !important; }

/* ============================ Footer ============================ */
html body footer#footer.footer{ background:var(--ul-ink) !important; color:rgba(255,255,255,.55) !important; padding:72px 24px 40px !important; margin:0 !important; border:0 !important; display:flex !important; flex-direction:column; align-items:center; }
html body footer#footer > *{ width:100%; }
html body footer#footer::before{ content:"Universal Locations Inc."; display:block; text-align:center; order:-2; margin-bottom:12px; font-family:var(--ul-serif); font-weight:400; font-size:26px; letter-spacing:.14em; text-transform:uppercase; color:#fff; }
html body footer#footer::after{ content:"Premium film & television location services across Greater Los Angeles since 1982."; display:block; text-align:center; max-width:420px; margin:0 auto; order:-1; font-size:13px; color:rgba(255,255,255,.5); line-height:1.7; }
html body footer#footer ul.social{ margin:26px 0 30px !important; padding:0; }
html body footer#footer ul.social li a{ width:36px !important; height:36px !important; border-radius:50% !important; border:1px solid rgba(255,255,255,.22) !important; background:transparent !important; color:rgba(255,255,255,.8) !important; display:inline-flex !important; align-items:center; justify-content:center; line-height:1 !important; font-size:14px; }
html body footer#footer ul.social li a i{ line-height:1 !important; margin:0 !important; }
html body footer#footer ul.social li a:hover{ border-color:var(--ul-accent2) !important; color:var(--ul-accent2) !important; }
html body footer#footer ul.footer-menu{ margin:0 auto 10px !important; padding:0; }
html body footer#footer ul.footer-menu li a,
html body footer#footer ul.footer-menu li{ font-family:var(--ul-sans) !important; font-size:11px !important; font-weight:400 !important; letter-spacing:.14em !important; text-transform:uppercase; color:rgba(255,255,255,.6) !important; border-color:rgba(255,255,255,.15) !important; }
html body footer#footer ul.footer-menu li a:hover{ color:#fff !important; }
html body footer#footer ul.footer-menu:last-of-type{ margin-top:22px !important; padding-top:22px !important; border-top:1px solid rgba(255,255,255,.1); max-width:1100px; }
html body footer#footer ul.footer-menu:last-of-type li a{ color:rgba(255,255,255,.42) !important; text-transform:none; letter-spacing:.04em !important; font-size:12px !important; }
@media (max-width:767px){
  html body footer#footer.footer{ padding:56px 20px 32px !important; }
  html body footer#footer::before{ font-size:20px; }
  html body footer#footer ul.footer-menu li{ display:block; padding:4px 0 !important; border:0 !important; }
}

/* ===== UL-2026 v3: icon fix + Location Library 4-across rows ===== */
/* Icon fonts always win over the text-font rules above (fixes empty star boxes) */
html body .fa:not(#ul-x){ font-family:FontAwesome !important; }
html body .glyphicon:not(#ul-x){ font-family:'Glyphicons Halflings' !important; }

html body #results_new{ display:block; }
html body .ul-lrow{
  position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px;
  margin:0 0 14px; border-radius:12px; overflow:hidden; background:var(--ul-bg3);
}
html body .ul-lrow__ph{ position:relative; display:block; aspect-ratio:4/3; overflow:hidden; background:var(--ul-bg3); cursor:pointer; }
html body .ul-lrow__ph img{ display:block; width:100% !important; height:100% !important; max-width:none !important; object-fit:cover; transition:transform .9s cubic-bezier(.2,.7,.2,1); }
html body .ul-lrow__ph:hover img{ transform:scale(1.04); }
html body .ul-lrow__hero::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:60%; background:linear-gradient(180deg,rgba(20,18,16,0) 0%,rgba(20,18,16,.62) 100%); pointer-events:none; }
html body .ul-lrow__cap{ position:absolute; left:20px; right:16px; bottom:18px; z-index:2; display:flex; flex-direction:column; gap:6px; color:#fff; text-shadow:0 1px 14px rgba(0,0,0,.3); }
html body .ul-lrow__code{ font-family:var(--ul-sans); font-size:clamp(18px,1.8vw,27px); font-weight:400; letter-spacing:.03em; line-height:1; text-transform:uppercase; }
html body .ul-lrow__loc{ font-family:var(--ul-sans); font-size:9.5px; font-weight:400; letter-spacing:.22em; text-transform:uppercase; opacity:.82; }
html body .ul-lrow__actions{
  position:absolute; top:12px; left:12px; z-index:3; display:flex; align-items:center; gap:6px;
  opacity:0; transform:translateY(-4px); transition:opacity .25s ease, transform .25s ease;
}
html body .ul-lrow:hover .ul-lrow__actions, html body .ul-lrow:focus-within .ul-lrow__actions{ opacity:1; transform:none; }
html body .ul-lrow__actions a.add-to-lightbox-btn{
  display:inline-flex !important; align-items:center; height:32px; padding:0 14px !important; margin:0 !important;
  background:rgba(248,246,242,.94) !important; color:var(--ul-ink) !important; border:0 !important;
  font-size:9.5px !important; letter-spacing:.16em !important; text-decoration:none !important;
}
html body .ul-lrow__actions a.add-to-lightbox-btn:hover{ background:#fff !important; }
html body .ul-lrow__actions .ul-act{
  width:32px; height:32px; border-radius:50%; border:0 !important; padding:0 !important; margin:0 !important;
  display:inline-flex !important; align-items:center; justify-content:center;
  background:rgba(248,246,242,.94) !important; color:var(--ul-ink) !important; font-size:13px; cursor:pointer; box-shadow:none !important;
}
html body .ul-lrow__actions .ul-act:hover{ background:#fff !important; }
html body .ul-lrow__actions .ul-act.wish_active, html body .ul-lrow__actions .ul-act.wish_active i{ color:#B4473A !important; }
@media (hover:none){ html body .ul-lrow__actions{ opacity:1; transform:none; } }
@media (max-width:767px){
  html body .ul-lrow{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; border-radius:10px; }
  html body .ul-lrow__hero{ grid-column:1 / -1; aspect-ratio:16/10; }
  html body .ul-lrow__ph:last-of-type{ display:none; }
}
/* ===== /UL-2026 v3 ===== */

/* ===== UL-2026 v4: full-screen location page ===== */
html body:has(.ul-dbar) header nav.navbar,
html body:has(.ul-dbar) .breadcrumb-section{ display:none !important; }
html body .ul-dbar{
  position:sticky; top:0; z-index:1040; display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:12px 28px; background:rgba(248,246,242,.97); border-bottom:1px solid var(--ul-border);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
}
html body .ul-dbar__code{ font-family:var(--ul-sans); font-size:22px; font-weight:400; letter-spacing:.03em; line-height:1.1; color:var(--ul-ink); text-transform:uppercase; }
html body .ul-dbar__loc{ margin-top:3px; font-size:9.5px; font-weight:400; letter-spacing:.22em; text-transform:uppercase; color:var(--ul-accent); }
html body .ul-dbar__actions{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
html body .ul-dbtn{
  display:inline-flex !important; align-items:center; gap:7px; height:36px; padding:0 18px !important; margin:0 !important;
  border-radius:999px !important; border:1px solid var(--ul-border2) !important; background:transparent !important; color:var(--ul-ink) !important;
  font-family:var(--ul-sans) !important; font-size:10.5px !important; font-weight:400 !important; letter-spacing:.16em !important; text-transform:uppercase;
  text-decoration:none !important; box-shadow:none !important; cursor:pointer; white-space:nowrap;
}
html body .ul-dbtn:hover{ border-color:var(--ul-ink) !important; }
html body .ul-dbtn i{ font-size:11px; }
html body .ul-dbtn--fill{ background:#6E7C70 !important; border-color:#6E7C70 !important; color:#fff !important; }
html body .ul-dbtn--fill:hover{ background:#5d6a5f !important; }
html body .ul-dbtn--dark{ background:var(--ul-btn) !important; border-color:var(--ul-btn) !important; color:#fff !important; }
html body .ul-dbtn--dark:hover{ background:var(--ul-btn-hover) !important; }
html body .ul-dbtn--icon{ width:36px; padding:0 !important; justify-content:center; }
html body .ul-dbtn--icon.wish_active i{ color:#B4473A; }
html body .ul-dbar__close{ margin-left:6px; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--ul-ink3) !important; text-decoration:none !important; white-space:nowrap; }
html body .ul-dbar__close:hover{ color:var(--ul-ink) !important; }

/* gallery: full width, 4 across */
html body .product-detail-page{ padding-top:0 !important; }
html body .product-detail-page > .container{ width:100% !important; max-width:none !important; padding:0 !important; }
html body .product-detail-page > .container > .row{ margin:0 !important; }
html body .product-detail-page .sidebar{ display:none !important; }
html body .product-detail-page .product-list-section{ width:100% !important; float:none !important; padding:0 !important; }
html body .product-detail-page .product-list.gallery{ margin:0 !important; padding:0 2px; }
html body .product-detail-page .product-list.gallery .item:not(.list){ width:25% !important; float:left; padding:2px !important; margin:0 !important; }
html body .product-detail-page .product-list.gallery .my-list{ margin:0 !important; padding:0 !important; border:0 !important; box-shadow:none !important; background:var(--ul-bg3); }
html body .product-detail-page .product-list.gallery .product-img{ position:relative; aspect-ratio:4/3; overflow:hidden; margin:0 !important; }
html body .product-detail-page .product-list.gallery .product-img img{ width:100% !important; height:100% !important; max-width:none !important; object-fit:cover; display:block; transition:transform .9s cubic-bezier(.2,.7,.2,1); }
html body .product-detail-page .product-list.gallery .product-img:hover img{ transform:scale(1.03); }
html body .product-detail-page .product-list.gallery a.download_image{
  position:absolute !important; top:12px; right:12px; left:auto !important; z-index:3; width:32px; height:32px; border-radius:50%;
  display:inline-flex !important; align-items:center; justify-content:center; background:rgba(28,26,23,.55) !important; color:#fff !important;
  opacity:0; transition:opacity .2s ease;
}
html body .product-detail-page .product-list.gallery .check_box_div{ position:absolute !important; top:12px; left:12px; z-index:3; opacity:.0; transition:opacity .2s ease; }
html body .product-detail-page .product-list.gallery .product-img:hover a.download_image,
html body .product-detail-page .product-list.gallery .product-img:hover .check_box_div,
html body .product-detail-page .product-list.gallery .check_box_div:has(input:checked){ opacity:1; }
html body .product-detail-page .check_box_div input{ width:18px; height:18px; accent-color:var(--ul-btn); cursor:pointer; }
@media (hover:none){ html body .product-detail-page .product-list.gallery a.download_image, html body .product-detail-page .product-list.gallery .check_box_div{ opacity:1; } }

/* filter + selection strip above photos */
html body .ul-dstrip{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 24px; padding:14px 28px; border-bottom:1px solid var(--ul-border); background:var(--ul-bg); }
html body .ul-dstrip .collage-btn{ position:static !important; width:auto !important; float:none !important; padding:0 !important; flex:1 1 480px; display:flex; flex-wrap:wrap; gap:6px; }
html body .ul-dstrip .collage-btn > span{ display:none; }
html body .ul-dstrip .collage-btn label.tag_class{ margin:0 !important; }
html body .ul-dstrip > .row{ margin:0 !important; display:flex; align-items:center; gap:12px; flex:0 0 auto; }
html body .ul-dstrip > .row > div{ width:auto !important; float:none !important; padding:0 !important; font-size:12px; color:var(--ul-ink3); }

/* details section */
html body .ul-ddet{ clear:both; max-width:1100px; margin:0 auto; padding:72px 28px 96px; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr); gap:56px; }
html body .ul-ddet__code{ font-family:var(--ul-sans) !important; font-size:clamp(36px,4.4vw,60px) !important; font-weight:300 !important; letter-spacing:.02em !important; text-transform:uppercase; margin:0 !important; color:var(--ul-ink); line-height:1; }
html body .ul-ddet__loc{ margin:12px 0 0; padding-bottom:26px; border-bottom:1px solid var(--ul-border); font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--ul-accent); }
html body .ul-ddet__notes{ margin:22px 0 0; font-size:14px; color:var(--ul-ink2); }
html body .ul-ddet__group{ margin-top:28px; }
html body .ul-ddet__label{ font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--ul-ink3); margin-bottom:10px; }
html body .ul-ddet__pills{ display:flex; flex-wrap:wrap; gap:8px; }
html body .ul-pill{ display:inline-block; padding:6px 14px; border:1px solid var(--ul-border2); border-radius:999px; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--ul-ink2); }
html body .ul-ddet__side{ display:flex; flex-direction:column; gap:10px; }
html body .ul-dside{
  display:flex !important; align-items:center; justify-content:center; gap:8px; height:46px; margin:0 !important;
  border:1px solid var(--ul-border2) !important; background:#fff !important; color:var(--ul-ink) !important; border-radius:2px !important;
  font-family:var(--ul-sans) !important; font-size:11px !important; font-weight:400 !important; letter-spacing:.18em !important; text-transform:uppercase;
  text-decoration:none !important; cursor:pointer; box-shadow:none !important;
}
html body .ul-dside:hover{ border-color:var(--ul-ink) !important; }
html body .ul-dside--dark{ background:var(--ul-ink) !important; border-color:var(--ul-ink) !important; color:#fff !important; }
html body .ul-dside--dark:hover{ background:#000 !important; }
html body .ul-ddet__count{ margin-top:6px; text-align:center; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--ul-ink3); }

@media (max-width:991px){
  html body .product-detail-page .product-list.gallery .item:not(.list){ width:33.333% !important; }
  html body .ul-dbar{ flex-wrap:wrap; }
}
@media (max-width:767px){
  html body .ul-dbar{ padding:10px 14px; }
  html body .ul-dbar__actions{ width:100%; justify-content:flex-start; gap:6px; }
  html body .ul-dbtn{ height:32px; padding:0 12px !important; font-size:9.5px !important; letter-spacing:.1em !important; }
  html body .ul-dbar__close span{ display:none; }
  html body .ul-dbar__close{ position:absolute; top:12px; right:14px; font-size:22px; }
  html body .product-detail-page .product-list.gallery .item:not(.list){ width:50% !important; }
  html body .ul-dstrip{ padding:12px 14px; }
  html body .ul-ddet{ grid-template-columns:1fr; gap:32px; padding:48px 16px 64px; }
}
/* ===== /UL-2026 v4 ===== */
/* ===== UL-2026 v4b ===== */
html body .product-detail-page .product-list.gallery .product-img > a.fancybox-button{ display:block !important; width:100% !important; height:100% !important; margin:0 !important; padding:0 !important; }

/* ===== UL-2026 v5: lightbox page ===== */
html body .page-contain:has(.folder-image-section) > .container{ width:100% !important; max-width:1440px; padding:0 28px !important; }
html body .page-contain:has(.folder-image-section) > .container > .row{ display:flex; flex-direction:column; margin:0; }
html body .page-contain:has(.folder-image-section) .sidebar{ width:100% !important; float:none !important; padding:0 !important; order:0; }
html body .folder-image-section{ width:100% !important; float:none !important; padding:0 !important; order:1; }
html body .page-contain:has(.folder-image-section) .sidebar > .row,
html body .page-contain:has(.folder-image-section) .light-box-sidebar{ margin:0 !important; padding:0 !important; float:none !important; width:100% !important; background:transparent !important; }

/* header */
html body .ul-lbhead{ max-width:1440px; margin:0 auto; padding:10px 28px 22px; display:grid; grid-template-columns:1fr auto 1fr; align-items:end; gap:8px 20px; border-bottom:1px solid var(--ul-border); }
html body .ul-lbhead__back{ grid-column:1; grid-row:1; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--ul-ink3) !important; text-decoration:none !important; align-self:center; }
html body .ul-lbhead__back:hover{ color:var(--ul-ink) !important; }
html body .ul-lbhead__title{ grid-column:2; grid-row:1; margin:0 !important; text-align:center; font-size:clamp(28px,3vw,40px) !important; letter-spacing:.06em !important; text-transform:uppercase; }
html body .ul-lbhead__meta{ grid-column:2; grid-row:2; text-align:center; font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--ul-accent); }
html body .ul-lbhead__send{ grid-column:3; grid-row:1; justify-self:end; align-self:center; height:38px; padding:0 22px; border:0; border-radius:999px; background:#6E7C70; color:#fff; font-family:var(--ul-sans); font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; cursor:pointer; }
html body .ul-lbhead__send:hover{ background:#5d6a5f; }

/* sub-folders as pills */
html body .light-box-sidebar .folder-box{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:18px 0 4px !important; margin:0 !important; background:transparent !important; border:0 !important; }
html body .light-box-sidebar .folder-box > h2{ display:block; width:auto; margin:0 6px 0 0 !important; padding:0 !important; font-family:var(--ul-sans) !important; font-size:10.5px !important; font-weight:400 !important; letter-spacing:.22em !important; text-transform:uppercase; color:var(--ul-ink3) !important; }
html body .light-box-sidebar .folder-box > h2::after{ content:" ·"; }
html body .light-box-sidebar .folder-box > .row{ display:inline-flex; align-items:center; gap:10px; margin:0 !important; padding:6px 8px 6px 16px; border:1px solid var(--ul-border2); border-radius:999px; background:#fff; }
html body .light-box-sidebar .folder-box > .row > div{ width:auto !important; float:none !important; padding:0 !important; }
html body .light-box-sidebar .folder-box > .row p{ margin:0 !important; }
html body .light-box-sidebar .folder-box > .row p a{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ul-ink) !important; text-decoration:none !important; }
html body .light-box-sidebar .folder-box > .row p a.folder_active{ font-weight:500; }
html body .light-box-sidebar .folder-box > .row:has(a.folder_active){ background:var(--ul-ink); border-color:var(--ul-ink); }
html body .light-box-sidebar .folder-box > .row:has(a.folder_active) a{ color:#fff !important; }
html body .light-box-sidebar .folder-box > .row .folder-edit,
html body .light-box-sidebar .folder-box > .row .folder-delete{ font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ul-ink3) !important; }
html body .light-box-sidebar .folder-box a.add-folder{ order:99; display:inline-flex !important; align-items:center; height:32px; padding:0 16px !important; border:1px dashed var(--ul-border2) !important; border-radius:999px !important; background:transparent !important; color:var(--ul-ink2) !important; font-size:10.5px !important; letter-spacing:.16em !important; text-transform:uppercase; }
html body .light-box-sidebar .folder-box a.add-folder::before{ content:"+ "; }

/* send-lightbox drawer */
html body .light-box-sidebar .lightbox{ display:none; float:none !important; }
html body.ul-send-open .light-box-sidebar .lightbox{
  display:block; position:fixed; top:0; right:0; bottom:0; width:min(420px,100vw); z-index:1060; overflow:auto;
  background:var(--ul-bg); padding:34px 30px !important; box-shadow:-20px 0 60px rgba(28,26,23,.18);
}
html body.ul-send-open .light-box-sidebar .lightbox h2{ font-size:28px !important; margin:0 0 18px !important; text-align:left; }
html body .ul-send-scrim{ display:none; }
html body.ul-send-open .ul-send-scrim{ display:block; position:fixed; inset:0; z-index:1055; background:rgba(28,26,23,.35); }
html body .links-lightbox{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }

/* toolbar */
html body .folder-image-section .total-projects{ display:none; }
html body .folder-image-section .pm-filter-ul{ margin:18px 0 18px !important; }

/* rows */
html body .ul-lbitem{ float:none !important; width:100% !important; padding:0 !important; margin:0 0 18px !important; border:1px solid var(--ul-border); border-radius:14px; background:#fff; overflow:hidden; }
html body .ul-lbitem.selected{ border-color:var(--ul-accent2); box-shadow:0 0 0 2px rgba(179,142,101,.25); }
html body .ul-lbitem .ul-lrow{ margin:0; border-radius:0; }
html body .ul-lbar{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 20px; padding:12px 18px; }
html body .ul-lbar__left{ display:flex; align-items:center; gap:22px; min-width:0; }
html body .ul-lbar .star-rating{ position:static !important; display:inline-flex; gap:3px; margin:0 !important; float:none !important; }
html body .ul-lbar .star-rating .fa{ font-size:15px; color:#C9A227 !important; cursor:pointer; }
html body .ul-lbar__notes{ font-size:13px; color:var(--ul-ink2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html body .ul-lbar__notes b{ margin-right:8px; font-weight:400; font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--ul-ink3); }
html body .ul-lbar__right{ display:flex; align-items:center; gap:6px; }
html body .ul-lbtn{ display:inline-flex !important; align-items:center; gap:6px; height:30px; padding:0 14px !important; margin:0 !important; border:1px solid var(--ul-border2) !important; border-radius:999px !important; background:transparent !important; color:var(--ul-ink) !important; font-family:var(--ul-sans) !important; font-size:10px !important; letter-spacing:.16em !important; text-transform:uppercase; text-decoration:none !important; cursor:pointer; box-shadow:none !important; width:auto !important; }
html body .ul-lbtn:hover{ border-color:var(--ul-ink) !important; }
html body .ul-lbtn.edit_btn{ background:var(--ul-ink) !important; border-color:var(--ul-ink) !important; color:#fff !important; }
html body .ul-lbtn--icon{ width:30px !important; padding:0 !important; justify-content:center; color:var(--ul-ink3) !important; }
html body .ul-lbtn--icon:hover{ color:#B4473A !important; }

/* photos of an opened project */
html body #dynamictabstrp .p_name_html{ font-size:30px !important; letter-spacing:.04em; margin:26px 0 16px !important; }
html body #dynamictabstrp .star-rating1 .fa{ color:#C9A227 !important; }

@media (max-width:767px){
  html body .page-contain:has(.folder-image-section) > .container{ padding:0 14px !important; }
  html body .ul-lbhead{ grid-template-columns:1fr auto; padding:6px 14px 18px; }
  html body .ul-lbhead__title{ grid-column:1 / -1; grid-row:2; text-align:left; }
  html body .ul-lbhead__meta{ grid-column:1 / -1; grid-row:3; text-align:left; }
  html body .ul-lbhead__send{ grid-column:2; grid-row:1; }
  html body .ul-lbar{ padding:12px 14px; }
  html body .ul-lbar__notes{ white-space:normal; }
}
/* ===== /UL-2026 v5 ===== */
/* ===== UL-2026 v5b ===== */
html body .folder-image-section .projecttt_cont:not(#ul-x){ height:auto !important; max-height:none !important; overflow:visible !important; }
html body .light-box-sidebar .folder-box > a.add-folder:not(#ul-x){ display:inline-flex !important; width:auto !important; flex:0 0 auto; }
html body.ul-send-open .light-box-sidebar .lightbox:not(#ul-x){ width:min(420px,100vw) !important; left:auto !important; right:0 !important; float:none !important; }
html body .projecttt_cont .pm-mylist{ border-radius:14px; overflow:hidden; }
html body .projecttt_cont .pm-mylist .add-item-lightbox:not(#ul-x){ background:#fff !important; border-top:1px solid var(--ul-border); padding:10px 12px !important; }
html body .projecttt_cont .pm-mylist .add-item-lightbox:not(#ul-x) .remove{ background:transparent !important; border:1px solid var(--ul-border2) !important; color:var(--ul-ink) !important; border-radius:999px !important; font-size:10px !important; letter-spacing:.14em; }
html body .projecttt_cont .pm-mylist .star-rating .fa{ color:#C9A227 !important; }
/* ===== UL-2026 v6: in-place filter updates ===== */
html body #results_new{ transition:opacity .2s ease; }
html body #results_new.ul-loading{ opacity:.45; pointer-events:none; }
/* ===== UL-2026 v7: per-column photo selectors ===== */
html body .ul-colsel{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin:0 0 10px; }
html body .ul-colsel__cell{ min-width:0; }
html body .ul-colsel__cell .bootstrap-select{ width:100% !important; margin:0 !important; }
html body .ul-colsel select.ul-csel{
  width:100%; height:40px; padding:0 34px 0 18px; border:1px solid var(--ul-border); border-radius:999px; background:#fff;
  font-family:var(--ul-sans); font-size:12px; font-weight:400; color:var(--ul-ink); cursor:pointer;
  -webkit-appearance:none; appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--ul-ink3) 50%),linear-gradient(135deg,var(--ul-ink3) 50%,transparent 50%);
  background-position:calc(100% - 20px) 17px, calc(100% - 15px) 17px; background-size:5px 5px; background-repeat:no-repeat;
}
html body .ul-colsel select.ul-csel:focus{ outline:none; border-color:var(--ul-accent2); }
@media (max-width:767px){
  html body .ul-colsel{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; }
  html body .ul-colsel__cell:first-child{ grid-column:1 / -1; }
  html body .ul-colsel__cell:last-child{ display:none; }
}
/* ===== UL-2026 v8: client portal (account page) ===== */
html body:has(.ul-acct) .breadcrumb-section{ display:none !important; }
html body .ul-acct{ max-width:1280px; margin:0 auto; padding:calc(var(--ul-hdr) + 40px) 28px 96px; font-family:var(--ul-sans); color:var(--ul-ink); }
html body .ul-acct__hero{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:24px; padding-bottom:30px; border-bottom:1px solid var(--ul-border); }
html body .ul-acct__hero h1{ margin:0 !important; font-size:clamp(34px,4vw,54px) !important; line-height:1.05; }
html body .ul-acct__hero h1 em{ color:var(--ul-accent2) !important; font-style:italic; }
html body .ul-acct__sub{ margin:10px 0 0; font-size:13px; color:var(--ul-ink3); letter-spacing:.02em; }
html body .ul-acct__cta{ display:flex; flex-wrap:wrap; gap:10px; }
html body .ul-pbtn{ display:inline-flex !important; align-items:center; gap:8px; height:44px; padding:0 22px; border-radius:999px; border:1px solid var(--ul-border2); background:transparent; color:var(--ul-ink) !important; font-size:11px; letter-spacing:.16em; text-transform:uppercase; text-decoration:none !important; white-space:nowrap; transition:background .2s, border-color .2s, color .2s; }
html body .ul-pbtn:hover{ border-color:var(--ul-ink); }
html body .ul-pbtn--dark{ background:var(--ul-btn); border-color:var(--ul-btn); color:#fff !important; }
html body .ul-pbtn--dark:hover{ background:var(--ul-btn-hover); border-color:var(--ul-btn-hover); }
html body .ul-pbtn--light{ background:#F8F6F2; border-color:#F8F6F2; color:var(--ul-ink) !important; margin-top:8px; justify-content:center; }
html body .ul-pbtn--light:hover{ background:#fff; }

html body .ul-acct__stats{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin:30px 0 44px; background:var(--ul-border); border:1px solid var(--ul-border); border-radius:14px; overflow:hidden; }
html body .ul-stat{ background:#fff; padding:22px 24px; display:flex; flex-direction:column; gap:6px; }
html body .ul-stat b{ font-family:var(--ul-serif); font-weight:300; font-size:38px; line-height:1; color:var(--ul-ink); }
html body .ul-stat span{ font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--ul-ink3); }

html body .ul-acct__grid{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:40px; align-items:start; }
html body .ul-acct__head{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
html body .ul-acct__head h2{ margin:0 !important; font-size:30px !important; }
html body .ul-acct__find{ height:38px; width:240px; max-width:50%; padding:0 16px; border:1px solid var(--ul-border); border-radius:999px; background:#fff; font-family:var(--ul-sans); font-size:13px; }
html body .ul-acct__find:focus{ outline:none; border-color:var(--ul-accent2); }

html body .ul-lbcards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:18px; }
html body .ul-lbcard{ background:#fff; border:1px solid var(--ul-border); border-radius:14px; overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .25s, transform .25s; }
html body .ul-lbcard:hover{ box-shadow:0 18px 40px rgba(28,26,23,.10); transform:translateY(-2px); }
html body .ul-lbcard__cover{ display:grid; aspect-ratio:16/10; gap:2px; background:var(--ul-bg3); overflow:hidden; }
html body .ul-lbcard__cover--1{ grid-template-columns:1fr; }
html body .ul-lbcard__cover--2{ grid-template-columns:1fr 1fr; }
html body .ul-lbcard__cover--3{ grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; }
html body .ul-lbcard__cover--3 img:first-child{ grid-row:1 / 3; }
html body .ul-lbcard__cover img{ width:100%; height:100%; object-fit:cover; display:block; min-height:0; }
html body .ul-lbcard__ph{ display:flex; align-items:center; justify-content:center; font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--ul-ink3); }
html body .ul-lbcard__body{ padding:16px 18px 18px; display:flex; flex-direction:column; gap:6px; flex:1; }
html body .ul-lbcard__title{ display:flex; align-items:center; gap:10px; }
html body .ul-lbcard__title a{ font-family:var(--ul-serif); font-size:24px; font-weight:400; color:var(--ul-ink) !important; text-decoration:none !important; text-transform:capitalize; line-height:1.15; }
html body .ul-badge{ font-size:9px; letter-spacing:.18em; text-transform:uppercase; padding:3px 8px; border-radius:999px; background:var(--ul-bg2); color:var(--ul-accent); }
html body .ul-lbcard__meta{ font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ul-ink3); }
html body .ul-lbcard__actions{ display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; padding-top:12px; }

html body .ul-acct__empty{ background:#fff; border:1px dashed var(--ul-border2); border-radius:14px; padding:48px 32px; text-align:center; }
html body .ul-acct__empty h3{ margin:0 0 10px !important; font-size:28px !important; }
html body .ul-acct__empty p{ max-width:440px; margin:0 auto 22px; color:var(--ul-ink2); font-size:14px; line-height:1.7; }

html body .ul-acct__side{ display:flex; flex-direction:column; gap:18px; position:sticky; top:calc(var(--ul-hdr) + 20px); }
html body .ul-card{ background:#fff; border:1px solid var(--ul-border); border-radius:14px; padding:24px; }
html body .ul-card .ul-eyebrow{ display:block; font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:var(--ul-accent); margin-bottom:10px; }
html body .ul-card h3{ margin:0 0 10px !important; font-size:28px !important; color:inherit; }
html body .ul-card p{ font-size:13.5px; line-height:1.7; margin:0 0 14px; }
html body .ul-card--agent{ background:var(--ul-ink); border-color:var(--ul-ink); color:#fff; }
html body .ul-card--agent h3{ color:#fff !important; }
html body .ul-card--agent p{ color:rgba(255,255,255,.7); }
html body .ul-card--agent .ul-eyebrow{ color:var(--ul-accent2); }
html body .ul-agent__line{ display:flex; align-items:center; gap:10px; padding:10px 0; border-top:1px solid rgba(255,255,255,.12); color:#fff !important; font-size:14px; text-decoration:none !important; }
html body .ul-agent__line i{ width:16px; color:var(--ul-accent2); }
html body .ul-agent__line:hover{ color:var(--ul-accent2) !important; }
html body .ul-card--agent .ul-pbtn{ display:flex !important; }
html body .ul-acct__me{ display:flex; flex-direction:column; gap:4px; margin-bottom:14px; }
html body .ul-acct__me b{ font-weight:500; font-size:15px; text-transform:capitalize; }
html body .ul-acct__me span{ font-size:13px; color:var(--ul-ink3); }
html body .ul-acct__links{ list-style:none; margin:0; padding:0; border-top:1px solid var(--ul-border); }
html body .ul-acct__links li a{ display:flex; justify-content:space-between; padding:11px 0; border-bottom:1px solid var(--ul-border); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ul-ink) !important; text-decoration:none !important; }
html body .ul-acct__links li a::after{ content:"\2192"; color:var(--ul-ink3); }
html body .ul-acct__links li a:hover{ color:var(--ul-accent) !important; }

@media (max-width:991px){
  html body .ul-acct__grid{ grid-template-columns:1fr; }
  html body .ul-acct__side{ position:static; display:grid; grid-template-columns:1fr 1fr; }
}
@media (max-width:640px){
  html body .ul-acct{ padding:calc(var(--ul-hdr) + 24px) 16px 64px; }
  html body .ul-acct__stats{ grid-template-columns:1fr 1fr; }
  html body .ul-stat{ padding:16px; }
  html body .ul-stat b{ font-size:30px; }
  html body .ul-acct__side{ grid-template-columns:1fr; }
  html body .ul-acct__cta .ul-pbtn{ flex:1; justify-content:center; }
}
html body .ul-acct .ul-eyebrow{ display:block; font-size:10.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--ul-accent); margin:0 0 12px; }
/* ===== /UL-2026 v8 ===== */
html body .ul-lbcard__actions{ flex-wrap:nowrap !important; } html body .ul-lbcard__actions .ul-lbtn{ padding:0 12px !important; }
/* ===== UL-2026 v9: wishlist ===== */
html body .page-contain:has(.wishlist-title) > .container{ width:100% !important; max-width:1440px; padding:0 28px !important; }
html body .page-contain:has(.wishlist-title) > .container > .row{ display:flex; flex-direction:column; margin:0; }
html body .wishlist-title{ order:-1; padding:8px 0 22px !important; margin:0 0 6px !important; border-bottom:1px solid var(--ul-border); }
html body .wishlist-title h2{ font-size:clamp(34px,4vw,52px) !important; margin:0 !important; }
html body .wishlist-title::before{ content:"Saved for later"; display:block; text-align:center; font-size:10.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--ul-accent); margin-bottom:10px; }
html body .wishlist-title::after{ content:"Locations you've hearted. Move the best ones into a Lightbox to share with your team."; display:block; text-align:center; font-size:13.5px; color:var(--ul-ink3); margin-top:10px; }
html body .page-contain:has(.wishlist-title) .sidebar{ width:100% !important; float:none !important; padding:0 !important; }
html body .page-contain:has(.wishlist-title) .folder-image-section{ width:100% !important; float:none !important; padding:0 !important; }
html body .folder-image-section .product-list > .row:has(> .item){ display:grid !important; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:18px; margin:18px 0 0 !important; }
html body .folder-image-section .product-list > .row:has(> .item)::before, html body .folder-image-section .product-list > .row:has(> .item)::after{ display:none !important; }
html body .page-contain:has(.wishlist-title) .product-list .item{ position:relative; width:auto !important; float:none !important; padding:0 !important; margin:0 !important; border:1px solid var(--ul-border); border-radius:14px; overflow:hidden; background:#fff; transition:box-shadow .25s, transform .25s; }
html body .page-contain:has(.wishlist-title) .product-list .item:hover{ box-shadow:0 18px 40px rgba(28,26,23,.10); transform:translateY(-2px); }
html body .page-contain:has(.wishlist-title) .my-list{ position:relative; margin:0 !important; border:0 !important; border-radius:0 !important; overflow:hidden; background:#fff !important; box-shadow:none !important; }
html body .page-contain:has(.wishlist-title) .product-img{ aspect-ratio:4/3; overflow:hidden; margin:0 !important; }
html body .page-contain:has(.wishlist-title) .product-img img{ width:100% !important; height:100% !important; object-fit:cover; display:block; transition:transform .9s cubic-bezier(.2,.7,.2,1); }
html body .page-contain:has(.wishlist-title) .item:hover .product-img img{ transform:scale(1.04); }
html body .page-contain:has(.wishlist-title) .light-box-col{ position:static !important; background:#fff !important; padding:14px 18px 16px !important; border:0 !important; }
html body .page-contain:has(.wishlist-title) .light-box-col .light-box-title{ margin:0 !important; padding:0 !important; background:transparent !important; font-family:var(--ul-sans) !important; font-size:20px !important; font-weight:400 !important; letter-spacing:.03em !important; text-transform:uppercase; }
html body .page-contain:has(.wishlist-title) .light-box-col p, html body .page-contain:has(.wishlist-title) .light-box-col p span{ margin:4px 0 0 !important; background:transparent !important; font-size:10px !important; letter-spacing:.22em !important; text-transform:uppercase; color:var(--ul-accent) !important; }
html body .page-contain:has(.wishlist-title) .add-item-lightbox{ position:absolute !important; top:12px; right:12px; z-index:3; float:none !important; background:transparent !important; padding:0 !important; margin:0 !important; border:0 !important; }
html body .page-contain:has(.wishlist-title) .add-item-lightbox button.remove{ width:36px !important; height:36px !important; border-radius:50% !important; border:0 !important; padding:0 !important; display:inline-flex !important; align-items:center; justify-content:center; background:rgba(248,246,242,.94) !important; color:#B4473A !important; box-shadow:0 4px 14px rgba(0,0,0,.12) !important; cursor:pointer; }
html body .page-contain:has(.wishlist-title) .add-item-lightbox button.remove i::before{ content:"\f004"; }
html body .page-contain:has(.wishlist-title) .add-item-lightbox button.remove:hover{ background:#fff !important; }
html body .page-contain:has(.wishlist-title) .add-item-lightbox button.remove:hover i::before{ content:"\f1f8"; }
@media (max-width:767px){ html body .page-contain:has(.wishlist-title) > .container{ padding:0 16px !important; } html body .folder-image-section .product-list > .row:has(> .item){ grid-template-columns:1fr 1fr; gap:10px; } html body .page-contain:has(.wishlist-title) .light-box-col .light-box-title{ font-size:15px !important; } }
/* ===== /UL-2026 v9 ===== */
/* ===== UL-2026 v10: account sub-pages (change info) ===== */
html body .my-account{ max-width:1200px; margin:0 auto !important; }
html body .my-account > .title h2{ font-size:clamp(34px,4vw,50px) !important; margin:6px 0 34px !important; }
html body .my-account > .title::before{ content:"Client Portal"; display:block; text-align:center; font-size:10.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--ul-accent); margin-bottom:10px; }
html body .my-account-sidebar{ background:#fff !important; border:1px solid var(--ul-border) !important; border-radius:14px !important; overflow:hidden; box-shadow:none !important; }
html body .my-account-sidebar ul{ margin:0 !important; padding:0 !important; list-style:none; }
html body .my-account-sidebar li.user-detail{ background:var(--ul-ink) !important; padding:26px 20px !important; border:0 !important; }
html body .my-account-sidebar .user-img{ display:block; width:64px; height:64px; margin:0 auto 12px; border-radius:50%; overflow:hidden; background:rgba(255,255,255,.12); }
html body .my-account-sidebar .user-img img{ width:100% !important; height:100% !important; object-fit:cover; filter:grayscale(1) brightness(1.6); }
html body .my-account-sidebar .info p{ margin:4px 0 !important; color:rgba(255,255,255,.8) !important; font-size:13px !important; text-transform:none; }
html body .my-account-sidebar .info p:first-child{ color:#fff !important; font-family:var(--ul-serif); font-size:22px !important; text-transform:capitalize; }
html body .my-account-sidebar .info p i{ display:none; }
html body .my-account-sidebar li:not(.user-detail){ border:0 !important; border-top:1px solid var(--ul-border) !important; background:transparent !important; }
html body .my-account-sidebar li:not(.user-detail) a{ display:flex !important; justify-content:space-between; padding:14px 20px !important; font-size:11px !important; letter-spacing:.18em !important; text-transform:uppercase; color:var(--ul-ink) !important; background:transparent !important; text-decoration:none !important; }
html body .my-account-sidebar li:not(.user-detail) a::after{ content:"\2192"; color:var(--ul-ink3); }
html body .my-account-sidebar li.active a{ background:var(--ul-bg2) !important; font-weight:500 !important; }
html body .my-account-sidebar li:not(.user-detail) a:hover{ color:var(--ul-accent) !important; }
html body .my-account-block{ background:#fff !important; border:1px solid var(--ul-border) !important; border-radius:14px !important; padding:30px 32px !important; box-shadow:none !important; }
html body .my-account-block::before{ content:"Profile details"; display:block; font-family:var(--ul-serif); font-size:28px; margin:0 0 4px; color:var(--ul-ink); }
html body .my-account-block{ display:flex; flex-direction:column; }
html body .my-account-block::after{ content:"Used for booking confirmations and when our agents reach out about your lightboxes."; order:-1; display:block; margin:0 0 22px; font-size:13px; color:var(--ul-ink3); }
html body .my-account-block::before{ order:-2; }
html body .my-account-block form, html body .my-account-block form > div{ background:transparent !important; padding-left:0 !important; padding-right:0 !important; }
html body .my-account-block form label{ display:block; margin:0 0 6px !important; font-size:10.5px !important; font-weight:400 !important; letter-spacing:.2em !important; text-transform:uppercase; color:var(--ul-ink3) !important; }
html body .my-account-block form .form-group{ margin-bottom:20px !important; }
html body .my-account-block form input.form-control{ height:46px !important; border-radius:10px !important; padding:0 16px !important; font-size:14px !important; background:var(--ul-bg) !important; border:1px solid var(--ul-border) !important; }
html body .my-account-block form input.form-control:focus{ background:#fff !important; border-color:var(--ul-accent2) !important; }
html body .my-account-block form input[type=file].form-control{ padding:10px 16px !important; height:auto !important; }
html body .my-account-block form button.btn-primary{ height:46px !important; padding:0 32px !important; font-size:11px !important; margin-top:6px; }
@media (max-width:767px){ html body .my-account-block{ padding:22px 18px !important; margin-top:16px; } }
/* ===== /UL-2026 v10 ===== */
/* ===== UL-2026 v11: login / sign-up / booking pop-ups ===== */
html body .modal-backdrop.in{ opacity:.55 !important; background:#1C1A17 !important; }
html body .login-popup .modal-dialog{ margin:6vh auto !important; }
html body .login-popup .modal-content{ border:0 !important; border-radius:18px !important; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.35) !important; background:#F8F6F2 !important; }
html body .login-popup .modal-header{ border:0 !important; padding:30px 34px 0 !important; position:relative; }
html body .login-popup .modal-header .close{ position:absolute; top:16px; right:18px; width:34px; height:34px; border-radius:50%; background:rgba(28,26,23,.06) !important; opacity:1 !important; font-size:22px !important; font-weight:300 !important; color:#1C1A17 !important; text-shadow:none !important; z-index:5; }
html body .login-popup .modal-header .close:hover{ background:rgba(28,26,23,.12) !important; }
html body .login-popup .modal-title{ font-family:var(--ul-serif) !important; font-weight:300 !important; font-size:34px !important; line-height:1.1; color:var(--ul-ink) !important; }
html body .login-popup .modal-body{ padding:16px 34px 30px !important; }
html body .login-popup .form-group{ margin-bottom:14px !important; }
html body .login-popup input.form-control, html body .login-popup select.form-control, html body .login-popup textarea.form-control{ height:48px !important; border-radius:10px !important; background:#fff !important; border:1px solid var(--ul-border) !important; font-size:14px !important; padding:0 16px !important; }
html body .login-popup textarea.form-control{ height:auto !important; padding:12px 16px !important; }
html body .login-popup input.form-control:focus{ border-color:var(--ul-accent2) !important; }
html body .login-popup input[type=checkbox]{ accent-color:var(--ul-btn); }
html body .login-popup label{ font-size:12px !important; letter-spacing:.04em !important; text-transform:none !important; color:var(--ul-ink3) !important; }
html body .login-popup .login_submit, html body .login-popup .s_submit{ height:48px !important; width:100%; float:none !important; margin:4px 0 14px !important; font-size:11px !important; }
html body .login-popup .signup_click, html body .login-popup .login_click{ float:none !important; display:block; text-align:center; font-size:12.5px; font-weight:400; color:var(--ul-ink3) !important; text-decoration:none !important; }
html body .login-popup .signup_click::before{ content:"New to Universal Locations? "; }
html body .login-popup .login_click::before{ content:"Already have an account? "; }
@media (min-width:768px){
  html body #myModal .modal-dialog, html body #signupModal .modal-dialog{ width:860px !important; }
  html body #myModal .modal-content, html body #signupModal .modal-content{ display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto 1fr; }
  html body #myModal .modal-content::before, html body #signupModal .modal-content::before{
    content:"Save locations. Build lightboxes. Share with your crew."; grid-column:1; grid-row:1 / 3; display:flex; align-items:flex-end; padding:34px; min-height:470px;
    font-family:var(--ul-serif); font-size:30px; line-height:1.15; color:#fff;
    background:linear-gradient(180deg,rgba(20,18,16,.05) 30%,rgba(20,18,16,.75) 100%), url('/uploads/project/project7030/d046-1.JPG') center/cover no-repeat;
  }
  html body #myModal .modal-header, html body #signupModal .modal-header{ grid-column:2; padding-top:40px !important; }
  html body #myModal .modal-body, html body #signupModal .modal-body{ grid-column:2; }
}
html body #myModal .modal-header::after{ content:"Use your name and email — no password needed."; display:block; margin-top:8px; font-size:13px; color:var(--ul-ink3); }
html body #signupModal .modal-header::after{ content:"Free for production teams. Save, organise and share locations."; display:block; margin-top:8px; font-size:13px; color:var(--ul-ink3); }
html body #myModal .modal-title, html body #signupModal .modal-title{ font-size:0 !important; }
html body #myModal .modal-title::before{ content:"Welcome back"; font-size:34px; }
html body #signupModal .modal-title::before{ content:"Create your account"; font-size:34px; }
html body #BookingModel .modal-dialog{ width:min(760px,94vw) !important; }
html body #BookingModel .modal-header .title h2{ font-family:var(--ul-sans) !important; font-size:30px !important; letter-spacing:.04em; text-transform:uppercase; margin:0 !important; }
html body #BookingModel .modal-header .title h2::before{ content:"Booking request"; display:block; font-size:10.5px; letter-spacing:.26em; color:var(--ul-accent); margin-bottom:8px; }
html body #BookingModel .modal-header .title p{ margin:4px 0 0 !important; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--ul-ink3); }
html body #BookingModel .selectr{ display:none !important; }
html body #BookingModel select.form-control{ display:block !important; visibility:visible !important; position:static !important; opacity:1 !important; width:100% !important; height:48px !important; }
html body #BookingModel form{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
html body #BookingModel form > .form-group{ width:auto !important; float:none !important; padding:0 !important; margin:0 !important; grid-column:1 / -1; }
html body #BookingModel form > .form-group.col-lg-3{ grid-column:auto; }
html body #BookingModel form > .form-group.col-lg-6, html body #BookingModel form > .form-group.col-md-6, html body #BookingModel form > .form-group.col-sm-6{ grid-column:span 2; }
html body #BookingModel form button.bk_submit{ height:50px !important; border:0 !important; border-radius:999px !important; background:var(--ul-btn) !important; background-image:none !important; color:#fff !important; font-family:var(--ul-sans) !important; font-size:11px !important; font-weight:400 !important; letter-spacing:.18em !important; text-transform:uppercase; box-shadow:none !important; padding:0 30px !important; }
html body #BookingModel form button.bk_submit:hover{ background:var(--ul-btn-hover) !important; }
@media (max-width:767px){ html body #BookingModel form{ grid-template-columns:1fr 1fr; } }
/* ===== /UL-2026 v11 ===== */
/* ===== UL-2026 v12: list your location ===== */
html body .page-contain:has(.ul-lyl-hero) > .container{ max-width:1240px; width:100% !important; padding:0 28px !important; }
html body .ul-lyl-hero{ max-width:760px; margin:10px auto 48px; text-align:center; }
html body .ul-lyl-hero .ul-eyebrow{ display:block; font-size:10.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--ul-accent); margin-bottom:14px; }
html body .ul-lyl-hero h1{ font-size:clamp(38px,5vw,64px) !important; line-height:1.05; margin:0 0 18px !important; }
html body .ul-lyl-hero h1 em{ color:var(--ul-accent2) !important; font-style:italic; }
html body .ul-lyl-hero p{ font-size:15px; line-height:1.75; color:var(--ul-ink2); margin:0 auto 24px; max-width:620px; }
html body .ul-lyl-hero .ul-pbtn{ display:inline-flex !important; }
html body .ul-lyl-info{ display:flex; flex-direction:column; gap:16px; position:sticky; top:calc(var(--ul-hdr) + 20px); }
html body .ul-lyl-block{ background:#fff; border:1px solid var(--ul-border); border-radius:14px; padding:26px 26px 22px; }
html body .ul-lyl-block .ul-eyebrow{ display:block; font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:var(--ul-accent); margin-bottom:16px; }
html body .ul-lyl-steps{ list-style:none; counter-reset:ul; margin:0; padding:0; }
html body .ul-lyl-steps li{ counter-increment:ul; position:relative; padding:0 0 18px 46px; }
html body .ul-lyl-steps li::before{ content:counter(ul); position:absolute; left:0; top:-2px; width:30px; height:30px; border-radius:50%; border:1px solid var(--ul-border2); display:flex; align-items:center; justify-content:center; font-family:var(--ul-serif); font-size:16px; color:var(--ul-ink); }
html body .ul-lyl-steps li b{ display:block; font-weight:500; font-size:14.5px; color:var(--ul-ink); margin-bottom:4px; }
html body .ul-lyl-steps li span{ display:block; font-size:13px; line-height:1.65; color:var(--ul-ink2); }
html body .ul-lyl-note{ margin:0; padding-top:14px; border-top:1px solid var(--ul-border); font-size:13px; color:var(--ul-accent-text); }
html body .ul-lyl-block--dark{ background:var(--ul-ink); border-color:var(--ul-ink); color:#fff; }
html body .ul-lyl-block--dark .ul-eyebrow{ color:var(--ul-accent2); }
html body .ul-lyl-ticks{ list-style:none; margin:0 0 14px; padding:0; }
html body .ul-lyl-ticks li{ position:relative; padding:7px 0 7px 26px; border-bottom:1px solid rgba(255,255,255,.1); font-size:14px; color:#fff; }
html body .ul-lyl-ticks li::before{ content:"\2713"; position:absolute; left:0; color:var(--ul-accent2); }
html body .ul-lyl-block--dark p{ margin:0; font-size:12.5px; color:rgba(255,255,255,.65); }
html body .ul-lyl-block--plain{ padding:18px 26px; }
html body .ul-lyl-block--plain .ul-eyebrow{ margin-bottom:6px; }
html body .ul-lyl-mail{ font-family:var(--ul-serif); font-size:22px; color:var(--ul-ink) !important; text-decoration:none !important; }
html body .ul-lyl-mail:hover{ color:var(--ul-accent) !important; }
html body .page-contain:has(.ul-lyl-hero) .about-us-img.contact-form{ background:#fff !important; border:1px solid var(--ul-border) !important; border-radius:14px !important; padding:30px 32px !important; box-shadow:none !important; }
html body #locationForm .title h2{ font-size:30px !important; text-align:left !important; margin:0 0 22px !important; }
html body #locationForm label{ display:block; margin:0 0 6px !important; font-size:10.5px !important; font-weight:400 !important; letter-spacing:.2em !important; text-transform:uppercase; color:var(--ul-ink3) !important; }
html body #locationForm .required_fileds{ color:var(--ul-accent) !important; }
html body #locationForm input.form-control{ height:46px !important; border-radius:10px !important; background:var(--ul-bg) !important; font-size:14px !important; }
html body #locationForm input.form-control:focus{ background:#fff !important; }
html body #locationForm input[type=file].form-control{ height:auto !important; padding:10px 14px !important; }
html body #locationForm .form-group{ margin-bottom:18px !important; }
html body #locationForm button[type=submit], html body #locationForm input[type=submit]{ width:100%; height:50px !important; font-size:11px !important; float:none !important; }
@media (max-width:767px){ html body .page-contain:has(.ul-lyl-hero) > .container{ padding:0 16px !important; } html body .ul-lyl-info{ position:static; margin-bottom:18px; } html body .page-contain:has(.ul-lyl-hero) .about-us-img.contact-form{ padding:22px 18px !important; } }
/* ===== /UL-2026 v12 ===== */
/* ===== UL-2026 v13: owner submission form ===== */
html body .ul-lsf .ul-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
html body .ul-lsf__tabs{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0 0 18px; }
html body .ul-lsf__tab{ position:relative; margin:0 !important; cursor:pointer; text-transform:none !important; letter-spacing:0 !important; }
html body .ul-lsf__tab input{ position:absolute; opacity:0; pointer-events:none; }
html body .ul-lsf__tab span{ display:block; padding:14px 16px; border:1px solid var(--ul-border2); border-radius:12px; background:#fff; transition:border-color .2s, background .2s; }
html body .ul-lsf__tab b{ display:block; font-size:14px; font-weight:500; color:var(--ul-ink); }
html body .ul-lsf__tab small{ display:block; margin-top:2px; font-size:12px; color:var(--ul-ink3); }
html body .ul-lsf__tab input:checked + span{ border-color:var(--ul-ink); background:var(--ul-bg2); box-shadow:inset 0 0 0 1px var(--ul-ink); }
html body .ul-lsf__tab input:focus-visible + span{ outline:2px solid var(--ul-btn); outline-offset:2px; }
html body .ul-lsf__rules{ margin:0 0 20px; padding:16px 18px; border-radius:12px; background:var(--ul-bg2); font-size:13px; color:var(--ul-ink2); line-height:1.6; }
html body .ul-lsf__rules > b{ display:block; font-size:10.5px; font-weight:400; letter-spacing:.22em; text-transform:uppercase; color:var(--ul-accent); margin-bottom:6px; }
html body .ul-lsf__rules ul{ margin:0; padding-left:18px; }
html body .ul-lsf__rules li{ margin:3px 0; }
html body .ul-lsf__grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
html body .ul-lsf__wide{ grid-column:1 / -1; }
html body .ul-lsf__hint{ display:block; margin-top:6px; font-size:12px; color:var(--ul-ink3); }
html body .ul-lsf__opt{ text-transform:none; letter-spacing:0; color:var(--ul-ink3); }
html body .ul-lsf__checks{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
html body .ul-lsf__checks label{ display:flex !important; align-items:center; gap:8px; margin:0 !important; padding:10px 12px; border:1px solid var(--ul-border); border-radius:10px; background:#fff; font-size:13px !important; letter-spacing:0 !important; text-transform:none !important; color:var(--ul-ink) !important; cursor:pointer; }
html body .ul-lsf__checks input{ accent-color:var(--ul-btn); }
html body .ul-lsf__drop{ position:relative; display:flex !important; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-height:118px; padding:18px; border:1.5px dashed var(--ul-border2); border-radius:12px; background:var(--ul-bg); text-align:center; cursor:pointer; text-transform:none !important; letter-spacing:0 !important; }
html body .ul-lsf__drop:hover{ border-color:var(--ul-accent2); background:#fff; }
html body .ul-lsf__drop input{ position:absolute; inset:0; opacity:0; cursor:pointer; }
html body .ul-lsf__drop-t{ font-size:14px; font-weight:500; color:var(--ul-ink); }
html body .ul-lsf__drop-t::before{ content:"\2191  "; }
html body .ul-lsf__drop-s{ font-size:12px; color:var(--ul-ink3); }
html body .ul-lsf__drop-n{ font-size:12.5px; color:var(--ul-accent-text); font-weight:500; }
html body .ul-lsf textarea.form-control{ border-radius:10px !important; background:var(--ul-bg) !important; min-height:110px; }
html body .ul-lsf__cf{ min-height:0; }
html body .ul-lsf__err{ min-height:0; margin:0 0 10px; color:#B4473A; font-size:13.5px; }
html body .ul-lsf__err:empty{ display:none; }
html body .ul-lsf__submit[disabled]{ opacity:.6; }
html body .ul-lsf__fine{ margin:10px 0 0; font-size:12px; color:var(--ul-ink3); text-align:center; }
/* show/hide by mode */
html body .ul-lsf .ul-lsf__upd, html body .ul-lsf .ul-lsf__only-upd, html body .ul-lsf .ul-lsf__req-notes{ display:none; }
html body .ul-lsf[data-type=update] .ul-lsf__upd{ display:block; }
html body .ul-lsf[data-type=update] .ul-lsf__only-upd{ display:list-item; }
html body .ul-lsf[data-type=update] .ul-lsf__only-new, html body .ul-lsf[data-type=update] .ul-lsf__new{ display:none; }
html body .ul-lsf:not(.ul-show-photos) .ul-lsf__photos, html body .ul-lsf:not(.ul-show-addr) .ul-lsf__addr{ display:none; }
html body .ul-lsf.ul-need-notes .ul-lsf__req-notes{ display:inline; }
html body .ul-lsf.ul-need-notes .ul-lsf__opt{ display:none; }
html body .page-contain:has(.ul-lyl-hero) .alert{ border-radius:12px; border:0; padding:16px 18px; font-size:14px; }
@media (max-width:640px){ html body .ul-lsf__grid, html body .ul-lsf__checks, html body .ul-lsf__tabs{ grid-template-columns:1fr; } }
/* ===== /UL-2026 v13 ===== */
html body .ul-lsf .form-control{ width:100% !important; }
/* ===== /UL-2026 v13 extra ===== */
/* ===== UL-2026 v17: blog / journal ===== */
html body .ul-journal{ background:var(--ul-bg); }
html body .ul-journal-crumb, html body .page-contain.ul-journal ~ .breadcrumb-section{ display:none; }
html body .ul-journal{ max-width:1240px; margin:0 auto; padding:10px 28px 80px; }
html body .ul-journal__hero{ max-width:720px; margin:10px auto 44px; text-align:center; }
html body .ul-journal__hero .ul-eyebrow{ display:block; font-size:10.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--ul-accent); margin-bottom:14px; }
html body .ul-journal__hero h1{ font-family:var(--ul-serif); font-weight:400; font-size:clamp(36px,4.6vw,58px) !important; line-height:1.06; margin:0 0 16px !important; color:var(--ul-ink); }
html body .ul-journal__hero h1 em{ color:var(--ul-accent2); font-style:italic; }
html body .ul-journal__hero p{ font-size:15px; line-height:1.75; color:var(--ul-ink2); margin:0 auto; max-width:560px; }
html body .ul-journal__empty{ text-align:center; color:var(--ul-ink2); }
html body .ul-journal__img{ display:block; overflow:hidden; border-radius:14px; background:var(--ul-bg2); }
html body .ul-journal__img img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
html body .ul-journal__img:hover img{ transform:scale(1.03); }
html body .ul-journal__meta{ display:flex; flex-wrap:wrap; gap:6px 14px; margin:0 0 12px !important; font-size:10.5px !important; letter-spacing:.18em; text-transform:uppercase; color:var(--ul-ink3) !important; }
html body .ul-journal__meta span:first-child{ color:var(--ul-accent); }
html body .ul-journal__meta span + span::before{ content:"·"; margin-right:14px; color:var(--ul-border2); }
html body .ul-journal__lede{ font-size:15px !important; line-height:1.75 !important; color:var(--ul-ink2) !important; margin:0 0 20px !important; }
html body .ul-journal__more{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--ul-ink) !important; text-decoration:none !important; border-bottom:1px solid var(--ul-border2); padding-bottom:4px; }
html body .ul-journal__more span{ display:inline-block; transition:transform .2s; }
html body .ul-journal__more:hover{ color:var(--ul-accent) !important; border-color:var(--ul-accent); }
html body .ul-journal__more:hover span{ transform:translateX(4px); }
html body .ul-journal__feature{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:48px; align-items:center; margin-bottom:64px; }
html body .ul-journal__feature .ul-journal__img{ aspect-ratio:4/3; }
html body .ul-journal__feature h2{ font-family:var(--ul-serif); font-weight:400; font-size:clamp(28px,3vw,40px) !important; line-height:1.15; margin:0 0 16px !important; text-align:left !important; }
html body .ul-journal__feature h2 a, html body .ul-journal__card h3 a{ color:var(--ul-ink) !important; text-decoration:none !important; }
html body .ul-journal__feature h2 a:hover, html body .ul-journal__card h3 a:hover{ color:var(--ul-accent) !important; }
html body .ul-journal__grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 32px; margin-bottom:64px; }
html body .ul-journal__card .ul-journal__img{ aspect-ratio:3/2; margin-bottom:18px; }
html body .ul-journal__card h3{ font-family:var(--ul-serif); font-weight:400; font-size:24px !important; line-height:1.2; margin:0 0 10px !important; }
html body .ul-journal__card .ul-journal__lede{ font-size:14px !important; margin-bottom:14px !important; }
html body .ul-journal__cta{ display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; background:var(--ul-ink); color:#fff; border-radius:18px; padding:44px 48px; }
html body .ul-journal__cta .ul-eyebrow{ display:block; font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--ul-accent2); margin-bottom:10px; }
html body .ul-journal__cta h2{ font-family:var(--ul-serif); font-weight:400; font-size:34px !important; color:#fff !important; margin:0 0 8px !important; text-align:left !important; }
html body .ul-journal__cta p{ margin:0; max-width:520px; color:rgba(255,255,255,.7); font-size:14px; line-height:1.7; }
html body .ul-journal__cta-btns{ display:flex; gap:10px; flex-wrap:wrap; }
html body .ul-pbtn--light{ background:#fff; border-color:#fff; color:var(--ul-ink) !important; }
html body .ul-pbtn--light:hover{ background:var(--ul-bg2); }
html body .ul-pbtn--ghost{ border-color:rgba(255,255,255,.35) !important; color:#fff !important; }
html body .ul-pbtn--ghost:hover{ border-color:#fff !important; }
html body .ul-journal__grid:has(> .ul-journal__card:only-child){ grid-template-columns:1fr; }
html body .ul-journal__grid > .ul-journal__card:only-child{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); grid-template-rows:auto auto auto 1fr; column-gap:48px; align-items:start; padding-top:56px; border-top:1px solid var(--ul-border); }
html body .ul-journal__grid > .ul-journal__card:only-child .ul-journal__img{ grid-row:1 / 5; grid-column:2; margin:0; }
html body .ul-journal__grid > .ul-journal__card:only-child > :not(.ul-journal__img){ grid-column:1; }
html body .ul-journal__grid > .ul-journal__card:only-child .ul-journal__meta{ margin-top:24px !important; }
html body .ul-journal__grid > .ul-journal__card:only-child h3{ font-size:clamp(26px,2.6vw,34px) !important; }
@media (max-width:991px){ html body .ul-journal__grid > .ul-journal__card:only-child{ display:block; } html body .ul-journal__grid > .ul-journal__card:only-child .ul-journal__img{ margin-bottom:18px; } }
/* article page */
html body .blog-main > .title h2{ font-family:var(--ul-serif); font-weight:400; font-size:clamp(32px,4vw,52px) !important; line-height:1.1; max-width:900px; margin:10px auto 36px !important; }
html body .blog-detail-img{ border-radius:16px; overflow:hidden; margin-bottom:34px; }
html body .blog-detail-img img{ width:100%; display:block; }
html body .blog-detail-con{ max-width:720px; }
html body .blog-detail-con p{ font-size:16.5px !important; line-height:1.85 !important; color:var(--ul-ink2) !important; margin:0 0 1.2em !important; }
html body .blog-detail-con h2, html body .blog-detail-con h3{ font-family:var(--ul-serif); font-weight:400; color:var(--ul-ink); margin:1.6em 0 .5em !important; }
html body .blog-right, html body .blog-tag{ background:#fff; border:1px solid var(--ul-border); border-radius:14px; padding:22px 22px 18px; margin-bottom:18px; position:static; }
html body .blog-right h2, html body .blog-tag h2{ font-family:var(--ul-sans) !important; font-size:10.5px !important; letter-spacing:.22em; text-transform:uppercase; color:var(--ul-accent) !important; margin:0 0 14px !important; font-weight:400 !important; }
html body .related-post{ display:flex; gap:14px; align-items:center; padding:10px 0; border-top:1px solid var(--ul-border); }
html body .related-post:first-of-type{ border-top:0; padding-top:0; }
html body .related-post .post-img{ flex:none; width:84px; height:62px; border-radius:8px; overflow:hidden; }
html body .related-post .post-img img{ width:100%; height:100%; object-fit:cover; }
html body .related-post .post-con a, html body .related-post .post-con h4, html body .related-post .post-con p{ font-family:var(--ul-serif); font-size:17px !important; line-height:1.25; color:var(--ul-ink) !important; text-decoration:none !important; margin:0 !important; }
html body .related-post .post-con span, html body .related-post .post-con small{ display:block; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ul-ink3); margin-top:4px; font-family:var(--ul-sans); }
html body .blog-tag .tabs{ display:flex; flex-wrap:wrap; gap:6px; }
html body .blog-tag .tabs a{ display:inline-block; padding:5px 12px; border-radius:999px; border:1px solid var(--ul-border2); font-size:12px; color:var(--ul-ink2) !important; text-decoration:none !important; background:transparent !important; margin:0 !important; }
html body .blog-tag .tabs a:hover{ border-color:var(--ul-ink); color:var(--ul-ink) !important; }
@media (min-width:992px){ html body .blog-main .col-lg-4 > .blog-right{ position:sticky; top:calc(var(--ul-hdr) + 20px); } }
@media (max-width:991px){ html body .ul-journal__feature{ grid-template-columns:1fr; gap:24px; } html body .ul-journal__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ html body .ul-journal{ padding:0 16px 56px; } html body .ul-journal__grid{ grid-template-columns:1fr; } html body .ul-journal__cta{ padding:30px 22px; } html body .ul-journal__cta h2{ font-size:28px !important; } }
html body .ul-journal h1, html body .ul-journal h2, html body .ul-journal h3, html body .blog-main > .title h2{ font-family:var(--ul-serif) !important; font-weight:400 !important; letter-spacing:0 !important; text-transform:none !important; }
html body .ul-journal h2 a, html body .ul-journal h3 a{ font-family:inherit !important; font-weight:inherit !important; letter-spacing:inherit !important; }
html body .ul-journal__more{ justify-self:start; display:inline-block; }
/* ===== /UL-2026 v17 ===== */

/* ===== UL-2026 v20: location map ===== */
html body .ul-mappage{ max-width:1400px; margin:0 auto; padding:10px 28px 60px; }
html body .ul-mappage__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin:6px 0 22px; }
html body .ul-mappage__head .ul-eyebrow{ display:block; font-size:10.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--ul-accent); margin-bottom:10px; }
html body .ul-mappage__head h1{ font-family:var(--ul-serif) !important; font-weight:400 !important; font-size:clamp(32px,4vw,50px) !important; line-height:1.08; margin:0 0 10px !important; text-transform:none !important; letter-spacing:0 !important; }
html body .ul-mappage__head h1 em{ color:var(--ul-accent2); font-style:italic; }
html body .ul-mappage__head p{ margin:0; color:var(--ul-ink2); font-size:14px; max-width:620px; line-height:1.7; }
html body .ul-mappage__tools{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
html body #ulMapFind{ position:relative; margin:0; }
html body #ulMapFind input{ height:44px; width:260px; max-width:70vw; border:1px solid var(--ul-border2); border-radius:999px; background:#fff; padding:0 46px 0 18px; font-size:14px; outline:none; }
html body #ulMapFind input:focus{ border-color:var(--ul-accent2); }
html body #ulMapFind button{ position:absolute; right:4px; top:4px; width:36px; height:36px; border-radius:50%; border:0; background:var(--ul-btn); color:#fff; }
html body .ul-mappage__wrap{ position:relative; display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:0; border:1px solid var(--ul-border); border-radius:16px; overflow:hidden; background:#fff; height:min(76vh,760px); }
html body .ul-mappage__map{ height:100%; min-height:420px; background:var(--ul-bg2); z-index:1; }
html body .ul-mappage__map .leaflet-tile-pane{ filter:grayscale(.8) sepia(.18) brightness(1.04) contrast(.95); }
html body .ul-mappage__err{ padding:30px; color:var(--ul-ink2); }
html body .ul-pin{ background:transparent; border:0; }
html body .ul-pin span{ display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(99,74,69,.92); color:#fff; font:500 12px/1 var(--ul-sans); box-shadow:0 0 0 3px rgba(255,255,255,.85), 0 2px 8px rgba(28,26,23,.25); transition:transform .15s, background .15s; }
html body .ul-pin:hover span, html body .ul-pin.on span{ background:var(--ul-accent); transform:scale(1.12); }
html body .ul-mappage__panel{ border-left:1px solid var(--ul-border); overflow:auto; padding:22px; background:#fff; }
html body .ul-mappage__hint b{ display:block; font-family:var(--ul-serif); font-weight:400; font-size:24px; color:var(--ul-ink); margin-bottom:6px; }
html body .ul-mappage__hint span{ font-size:13.5px; color:var(--ul-ink2); line-height:1.6; }
html body .ul-mappage__ph .ul-eyebrow{ display:block; font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:var(--ul-accent); }
html body .ul-mappage__ph h2{ font-family:var(--ul-serif) !important; font-weight:400 !important; font-size:28px !important; margin:4px 0 2px !important; text-align:left !important; text-transform:none !important; letter-spacing:0 !important; }
html body .ul-mappage__ph p{ margin:0 0 14px; font-size:12.5px; color:var(--ul-ink3); }
html body .ul-mappage__grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
html body .ul-mappage__item{ display:block; color:var(--ul-ink) !important; text-decoration:none !important; }
html body .ul-mappage__img{ display:block; aspect-ratio:4/3; border-radius:8px; overflow:hidden; background:var(--ul-bg2); margin-bottom:6px; }
html body .ul-mappage__img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s; }
html body .ul-mappage__item:hover img{ transform:scale(1.04); }
html body .ul-mappage__item b{ font-weight:500; font-size:12px; letter-spacing:.06em; }
html body .ul-mappage__loading{ grid-column:1 / -1; color:var(--ul-ink3); font-size:13px; }
html body .ul-maplink{ display:inline-flex !important; }
@media (max-width:900px){ html body .ul-mappage{ padding:0 16px 40px; } html body .ul-mappage__wrap{ grid-template-columns:1fr; height:auto; } html body .ul-mappage__map{ height:62vh; } html body .ul-mappage__panel{ border-left:0; border-top:1px solid var(--ul-border); max-height:none; } }
/* ===== /UL-2026 v20 ===== */
/* ===== UL-2026 v21: column pickers + Lightbox for operations ===== */
/* photo rows: no grey frame behind the gaps */
html body .ul-lrow{ background:transparent !important; gap:6px; }
html body .ul-lrow__ph{ border-radius:0; }
html body .ul-lrow > .ul-lrow__ph:first-child{ border-radius:12px 0 0 12px; }
html body .ul-lrow > .ul-lrow__ph:nth-child(4){ border-radius:0 12px 12px 0; }
/* "no kitchen photo" note on a tile */
html body .ul-miss{ position:absolute; right:10px; bottom:10px; z-index:2; padding:4px 10px; border-radius:999px; background:rgba(28,26,23,.62); color:#fff; font-family:var(--ul-sans); font-size:9.5px; font-weight:400; letter-spacing:.12em; text-transform:uppercase; pointer-events:none; }
html body .ul-lrow__hero .ul-miss{ top:10px; bottom:auto; }
html body .ul-lrow__ph.is-miss img{ filter:saturate(.75) brightness(.92); }

/* the 4 pickers: same grid + gap as the photo row underneath, one clean style */
html body .ul-colsel{ display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin:0 0 10px !important; padding:0 !important; background:transparent !important; border:0 !important; box-shadow:none !important; transition:opacity .2s; }
html body .ul-colsel.is-busy{ opacity:.55; pointer-events:none; }
html body .ul-colsel__cell{ display:block; margin:0 !important; padding:0 !important; min-width:0; background:transparent !important; border:0 !important; box-shadow:none !important; }
html body .ul-colsel select.ul-csel{
  display:block; width:100% !important; height:40px; margin:0 !important; padding:0 38px 0 18px !important;
  border:1px solid var(--ul-border) !important; border-radius:999px !important; box-shadow:none !important;
  font-family:var(--ul-sans) !important; font-size:12px !important; font-weight:400 !important; letter-spacing:.02em; color:var(--ul-ink) !important; line-height:38px;
  -webkit-appearance:none; -moz-appearance:none; appearance:none; cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236B6760' stroke-width='1.3'/%3E%3C/svg%3E") no-repeat right 18px center !important;
  transition:border-color .2s;
}
html body .ul-colsel select.ul-csel:hover{ border-color:var(--ul-border2) !important; }
html body .ul-colsel select.ul-csel:focus{ outline:none; border-color:var(--ul-accent2) !important; box-shadow:0 0 0 3px rgba(179,142,101,.18) !important; }
html body .ul-legacy-sel{ display:none !important; }
html body .product-list.grid > .ul-colsel{ margin-top:6px !important; }
@media (max-width:767px){
  html body .ul-colsel{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; }
  html body .ul-colsel__cell:first-child{ grid-column:1 / -1; }
  html body .ul-colsel__cell:last-child{ display:none; }
}

/* ---------- Lightbox page ---------- */
html body .ul-lbx{ max-width:1440px; margin:0 auto; padding:6px 28px 96px; font-family:var(--ul-sans); color:var(--ul-ink); }
html body .ul-lbx__folders{ float:none !important; width:auto !important; padding:0 !important; margin:0 0 6px !important; background:transparent !important; }
html body .ul-lbx__folders .folder-box > .row > div{ width:auto !important; }
html body .ul-lbx__folders .lightbox .ul-send-x{ position:absolute; top:14px; right:16px; width:36px; height:36px; border:0; background:transparent; font-size:26px; line-height:1; color:var(--ul-ink3); cursor:pointer; }
html body .ul-lbx__folders .lightbox .ul-send-note{ margin:-8px 0 18px; font-size:13px; color:var(--ul-ink3); }
html body .ul-lbx__folders .lightbox .send_link_btn{ width:100%; height:44px; border:0 !important; border-radius:999px !important; background:var(--ul-btn) !important; font-family:var(--ul-sans); font-size:11px; letter-spacing:.18em; text-transform:uppercase; }

html body .ul-lbx__bar{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin:16px 0 12px; }
html body .ul-lbx__search{ position:relative; flex:1 1 320px; margin:0 !important; font-weight:400; }
html body .ul-lbx__search .fa{ position:absolute; left:17px; top:50%; transform:translateY(-50%); font-size:13px; color:var(--ul-ink3); }
html body .ul-lbx__search input{ width:100%; height:42px; padding:0 18px 0 42px; border:1px solid var(--ul-border); border-radius:999px; background:#fff; font-family:var(--ul-sans); font-size:13px; color:var(--ul-ink); outline:none; box-shadow:none; }
html body .ul-lbx__search input:focus{ border-color:var(--ul-accent2); box-shadow:0 0 0 3px rgba(179,142,101,.18); }
html body .ul-lbx__sort{ display:inline-flex; align-items:center; gap:10px; margin:0 !important; font-weight:400; }
html body .ul-lbx__sort > span{ font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--ul-ink3); }
html body .ul-lbx__sort select{ height:42px; padding:0 40px 0 18px; border:1px solid var(--ul-border); border-radius:999px; font-family:var(--ul-sans); font-size:12.5px; color:var(--ul-ink); -webkit-appearance:none; appearance:none; cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236B6760' stroke-width='1.3'/%3E%3C/svg%3E") no-repeat right 18px center; }
html body .ul-lbx__count{ margin-left:auto; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--ul-accent-text); }

html body .ul-colsel--lb{ padding:0 7px !important; }
html body .ul-lbx__list{ transition:opacity .2s; }
html body .ul-lbx__list.ul-loading{ opacity:.5; pointer-events:none; }
html body .ul-lbi{ margin:0 0 16px; border:1px solid var(--ul-border); border-radius:14px; background:#fff; overflow:hidden; transition:box-shadow .25s, border-color .25s; will-change:transform; }
html body .ul-lbi:hover{ box-shadow:0 14px 36px rgba(28,26,23,.07); }
html body .ul-lbi.is-open{ border-color:var(--ul-border2); }
html body .ul-lbi.is-leaving{ opacity:0; margin-bottom:0; border-width:0; transition:height .35s ease, opacity .25s ease, margin .35s ease; overflow:hidden; }
html body .ul-lbi .ul-lrow{ margin:0 !important; padding:6px 6px 0; border-radius:0; }
html body .ul-lbi .ul-lrow > .ul-lrow__ph:first-child{ border-radius:9px 0 0 0; }
html body .ul-lbi .ul-lrow > .ul-lrow__ph:nth-child(4){ border-radius:0 9px 0 0; }
html body .ul-lbi .ul-lrow__ph img{ width:100% !important; height:100% !important; object-fit:cover; }

html body .ul-lbi .ul-lbar{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 18px; padding:12px 16px 12px 18px; }
html body .ul-lbi .ul-lbar__left{ display:flex; align-items:center; gap:22px; min-width:0; flex:1 1 380px; }
html body .ul-lbar__id{ display:flex; flex-direction:column; gap:2px; min-width:0; }
html body .ul-lbar__id b{ font-weight:500; font-size:13.5px; letter-spacing:.06em; }
html body .ul-lbar__id span{ font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--ul-ink3); }
html body .ul-lbi .ul-lbar__notes{ min-width:0; max-width:420px; font-size:13px; color:var(--ul-ink2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html body .ul-lbi .ul-lbar__notes b{ margin-right:8px; font-weight:400; font-size:9.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--ul-ink3); }
html body .ul-lbi .ul-lbar__right{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
html body .ul-lbtn--dark{ background:var(--ul-ink) !important; border-color:var(--ul-ink) !important; color:#fff !important; }
html body .ul-lbtn--dark:hover{ background:#000 !important; }
html body .ul-lbtn.is-off{ opacity:.4; pointer-events:none; }
html body .ul-lbtn:disabled{ opacity:.4; cursor:default; }
html body .ul-lbtn--del:hover{ color:#B4473A !important; border-color:#B4473A !important; }

/* stars */
html body .ul-stars{ position:relative; display:inline-flex; align-items:center; gap:1px; flex:0 0 auto; }
html body .ul-stars button{ width:24px; height:28px; padding:0 !important; margin:0 !important; border:0 !important; background:transparent !important; box-shadow:none !important; color:#D9D4CA; font-size:16px; line-height:1; cursor:pointer; transition:color .15s, transform .15s; }
html body .ul-stars button .fa{ color:inherit !important; }
html body .ul-stars button.on{ color:#C9A227; }
html body .ul-stars.is-hov button{ color:#D9D4CA; }
html body .ul-stars.is-hov button.hov{ color:#E0B93A; }
html body .ul-stars button:hover{ transform:scale(1.18); }
html body .ul-stars button:focus-visible{ outline:2px solid var(--ul-accent2); outline-offset:1px; border-radius:4px; }
html body .ul-stars__ok{ position:absolute; left:100%; margin-left:8px; font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:#5f7f63; opacity:0; white-space:nowrap; pointer-events:none; }
html body .ul-stars.saved .ul-stars__ok{ animation:ulSaved 1.6s ease forwards; }
@keyframes ulSaved{ 0%{opacity:0; transform:translateX(-4px)} 15%{opacity:1; transform:none} 70%{opacity:1} 100%{opacity:0} }
html body .ul-stars--sm button{ width:19px; height:22px; font-size:13px; }

/* saved photos panel */
html body .ul-lbp{ border-top:1px solid var(--ul-border); background:var(--ul-bg); padding:16px 18px 20px; }
html body .ul-lbp[hidden]{ display:none; }
html body .ul-lbp__none{ margin:6px 0; font-size:13px; color:var(--ul-ink3); }
html body .ul-lbp__head{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
html body .ul-lbp__tags{ display:flex; flex-wrap:wrap; gap:6px; }
html body .ul-chip{ height:30px; padding:0 13px; border:1px solid var(--ul-border2); border-radius:999px; background:#fff; font-family:var(--ul-sans); font-size:11px; letter-spacing:.06em; color:var(--ul-ink2); cursor:pointer; }
html body .ul-chip b{ margin-left:4px; font-weight:400; color:var(--ul-ink3); }
html body .ul-chip.on{ background:var(--ul-ink); border-color:var(--ul-ink); color:#fff; }
html body .ul-chip.on b{ color:rgba(255,255,255,.7); }
html body .ul-lbp__acts{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
html body .ul-lbp__all{ display:inline-flex; align-items:center; gap:7px; margin:0 6px 0 0; font-size:12px; font-weight:400; color:var(--ul-ink2); cursor:pointer; }
html body .ul-lbp__all input{ display:inline-block !important; margin:0; width:15px; height:15px; accent-color:var(--ul-ink); }
html body .ul-lbp__n{ font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--ul-ink3); margin-right:4px; }
html body .ul-lbp__grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; }
html body .ul-ph{ position:relative; margin:0; border-radius:10px; overflow:hidden; background:#fff; border:1px solid var(--ul-border); transition:opacity .25s, transform .25s; }
html body .ul-ph[hidden]{ display:none; }
html body .ul-ph.is-leaving{ opacity:0; transform:scale(.96); }
html body .ul-ph__img{ display:block; aspect-ratio:4/3; overflow:hidden; background:var(--ul-bg3); }
html body .ul-ph__img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
html body .ul-ph:hover .ul-ph__img img{ transform:scale(1.04); }
html body .ul-ph__sel{ position:absolute; top:8px; left:8px; z-index:2; margin:0; cursor:pointer; }
html body .ul-ph__sel input{ position:absolute; opacity:0; width:0; height:0; }
html body .ul-ph__sel span{ display:block; width:24px; height:24px; border-radius:50%; border:1.5px solid #fff; background:rgba(28,26,23,.25); box-shadow:0 1px 4px rgba(0,0,0,.25); transition:background .15s; }
html body .ul-ph__sel input:checked + span{ background:var(--ul-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='9' viewBox='0 0 12 9'%3E%3Cpath d='M1 4.5l3.2 3L11 1' fill='none' stroke='%23fff' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat center; border-color:var(--ul-ink); }
html body .ul-ph__sel input:focus-visible + span{ outline:2px solid var(--ul-accent2); outline-offset:2px; }
html body .ul-ph:has(.ul-ph__sel input:checked){ border-color:var(--ul-ink); box-shadow:0 0 0 1px var(--ul-ink); }
html body .ul-ph__dl{ position:absolute; top:8px; right:8px; z-index:2; width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(248,246,242,.92); color:var(--ul-ink) !important; font-size:12px; opacity:0; transition:opacity .2s; }
html body .ul-ph:hover .ul-ph__dl, html body .ul-ph__dl:focus{ opacity:1; }
html body .ul-ph figcaption{ display:flex; align-items:center; justify-content:space-between; padding:6px 8px 6px 10px; }
html body .ul-ph__del{ width:28px; height:28px; border:0; background:transparent; color:var(--ul-ink3); font-size:13px; cursor:pointer; border-radius:50%; }
html body .ul-ph__del:hover{ color:#B4473A; background:var(--ul-bg2); }

/* toast */
html body .ul-toast{ position:fixed; left:50%; bottom:28px; z-index:1070; display:flex; align-items:center; gap:18px; max-width:calc(100vw - 32px); padding:12px 14px 12px 20px; border-radius:999px; background:var(--ul-ink); color:#fff; font-size:13px; box-shadow:0 16px 40px rgba(0,0,0,.25); opacity:0; pointer-events:none; transform:translate(-50%,12px); transition:opacity .25s, transform .25s; }
html body .ul-toast.on{ opacity:1; pointer-events:auto; transform:translate(-50%,0); }
html body .ul-toast button{ height:30px; padding:0 14px; border:1px solid rgba(255,255,255,.4); border-radius:999px; background:transparent; color:#fff; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; cursor:pointer; }
html body .ul-toast button:hover{ background:#fff; color:var(--ul-ink); }
html body .ul-lbx__empty{ padding:60px 20px; text-align:center; font-size:14px; color:var(--ul-ink3); border:1px dashed var(--ul-border2); border-radius:14px; }
html body .ul-lbx__empty[hidden]{ display:none; }
html body .ul-lbx__empty a{ color:var(--ul-ink) !important; text-decoration:underline !important; }

@media (max-width:991px){
  html body .ul-lbi .ul-lbar__left{ flex-wrap:wrap; gap:8px 18px; }
  html body .ul-lbi .ul-lbar__notes{ white-space:normal; max-width:none; flex-basis:100%; }
}
@media (max-width:767px){
  html body .ul-lbx{ padding:4px 14px 80px; }
  html body .ul-lbx__count{ margin-left:0; flex-basis:100%; }
  html body .ul-lbx__sort{ flex:1 1 auto; }
  html body .ul-lbx__sort select{ flex:1; }
  html body .ul-lbi .ul-lrow{ padding:4px 4px 0; }
  html body .ul-lbi .ul-lrow > .ul-lrow__ph:first-child{ border-radius:9px 9px 0 0; }
  html body .ul-lbi .ul-lbar{ padding:12px 14px; }
  html body .ul-lbi .ul-lbar__right{ width:100%; }
  html body .ul-lbi .ul-lbar__right [data-act="photos"]{ flex:1; justify-content:center; }
  html body .ul-lbp{ padding:14px 12px 16px; }
  html body .ul-lbp__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  html body .ul-lrow > .ul-lrow__ph:first-child{ border-radius:10px 10px 0 0; }
  html body .ul-lrow > .ul-lrow__ph:nth-child(4){ border-radius:0; }
}
@media (prefers-reduced-motion: reduce){ html body .ul-lbi, html body .ul-ph, html body .ul-stars button{ transition:none !important; } }
/* ===== /UL-2026 v21 ===== */
/* ===== UL-2026 v22: branded loader (replaces the grey-bars GIF) ===== */
html body .custom_ajax_preloader.ul-ld{ position:fixed !important; inset:0 !important; top:0 !important; right:0 !important; z-index:100000 !important; background:rgba(248,246,242,.72); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); animation:ulLdIn .35s ease .12s both; }
@keyframes ulLdIn{ from{ opacity:0; } to{ opacity:1; } }
html body .ul-ld__card{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:min(320px,calc(100vw - 48px)); padding:0 0 22px; background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 30px 80px rgba(28,26,23,.18), 0 2px 8px rgba(28,26,23,.06); text-align:center; }
html body .ul-ld__ph{ position:relative; height:200px; background:var(--ul-bg3); overflow:hidden; }
html body .ul-ld--nophoto .ul-ld__ph{ display:none; }
html body .ul-ld--nophoto .ul-ld__card{ padding-top:26px; }
html body .ul-ld__ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; animation:ulLdFade 6.4s ease-in-out infinite; }
@keyframes ulLdFade{ 0%{ opacity:0; transform:scale(1.08); } 8%{ opacity:1; } 30%{ opacity:1; } 40%{ opacity:0; transform:scale(1); } 100%{ opacity:0; } }
@keyframes ulLdZoom{ from{ opacity:1; transform:scale(1.08); } to{ opacity:1; transform:scale(1); } }
html body .ul-ld__mark{ margin:20px 12px 0; font-family:var(--ul-serif); font-size:15px; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:var(--ul-ink); white-space:nowrap; }
html body .ul-ld__est{ margin-top:4px; font-family:var(--ul-sans); font-size:8.5px; letter-spacing:.42em; text-transform:uppercase; color:var(--ul-ink3); }
html body .ul-ld__bar{ position:relative; width:120px; height:2px; margin:16px auto 0; background:var(--ul-bg3); border-radius:2px; overflow:hidden; }
html body .ul-ld__bar i{ position:absolute; top:0; bottom:0; left:0; width:40%; background:var(--ul-accent2); border-radius:2px; animation:ulLdBar 1.3s cubic-bezier(.45,0,.25,1) infinite; }
@keyframes ulLdBar{ 0%{ transform:translateX(-100%); } 100%{ transform:translateX(260%); } }
@media (prefers-reduced-motion: reduce){ html body .ul-ld__ph img{ animation:none; } html body .ul-ld__ph img:first-child{ opacity:1; } html body .ul-ld__bar i{ animation-duration:3s; } }
/* ===== /UL-2026 v22 ===== */
/* v22: send-lightbox drawer */
html body .ul-send-msg{ margin:0 0 14px; padding:10px 14px; border-radius:10px; background:#F6E9E7; color:#8A2E22; font-size:13px; line-height:1.45; }
html body .ul-send-msg.is-ok{ background:#E8F0E8; color:#2F5A36; }
html body .ul-send-msg[hidden]{ display:none; }
html body .ul-ts{ min-height:65px; }
html body .ul-ts-note{ margin:6px 2px 0; font-size:11.5px; color:var(--ul-ink3); }
html body .ul-ts-note[hidden]{ display:none; }
html body .ul-lbx__folders .lightbox .send_link_btn:disabled{ opacity:.45; cursor:default; }
/* ===== UL-2026 v23: notes + client view ===== */
html body .ul-rate{ display:flex; flex-direction:column; gap:2px; flex:0 0 auto; }
html body .ul-rate__lbl{ font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:var(--ul-ink3); }
html body .ul-rate .ul-stars{ margin-left:-3px; }
html body .ul-cbadge{ display:inline-flex; align-items:center; gap:4px; align-self:flex-start; margin-top:2px; padding:2px 9px; border-radius:999px; background:#F3ECE2; color:var(--ul-accent-text); font-size:10.5px; letter-spacing:.06em; }
html body .ul-cbadge .fa{ color:#C9A227 !important; font-size:10px; }
html body .ul-lbtn--note{ position:relative; }
html body .ul-lbtn--note.has-new::after{ content:""; position:absolute; top:-2px; right:-2px; width:9px; height:9px; border-radius:50%; background:#B38E65; box-shadow:0 0 0 2px #fff; }
html body .ul-lbi.is-notes [data-act="notes"]{ border-color:var(--ul-ink) !important; }

html body .ul-lbn{ border-top:1px solid var(--ul-border); background:#FCFBF9; padding:16px 18px 18px; }
html body .ul-lbn[hidden]{ display:none; }
html body .ul-lbn__head{ display:flex; align-items:baseline; gap:12px; margin-bottom:12px; }
html body .ul-lbn__head b{ font-family:var(--ul-serif); font-weight:400; font-size:20px; color:var(--ul-ink); }
html body .ul-lbn__head span{ font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--ul-ink3); }
html body .ul-lbn__list{ display:flex; flex-direction:column; gap:10px; max-height:340px; overflow:auto; padding:2px; }
html body .ul-lbn__empty{ margin:0; font-size:13px; color:var(--ul-ink3); }
html body .ul-note{ max-width:min(640px,88%); padding:11px 15px 12px; border-radius:14px; background:#fff; border:1px solid var(--ul-border); }
html body .ul-note--team{ align-self:flex-start; border-top-left-radius:4px; }
html body .ul-note--client{ align-self:flex-end; border-top-right-radius:4px; background:#F5EFE6; border-color:#E6DACA; }
html body .ul-note__meta{ display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; margin-bottom:4px; }
html body .ul-note__who{ font-size:10.5px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--ul-ink); }
html body .ul-note--client .ul-note__who{ color:var(--ul-accent-text); }
html body .ul-note__by{ font-size:12px; color:var(--ul-ink2); }
html body .ul-note__at{ font-size:11px; color:var(--ul-ink3); }
html body .ul-note__del{ margin-left:auto; padding:0; border:0; background:none; font-size:11px; color:var(--ul-ink3); cursor:pointer; text-decoration:underline; }
html body .ul-note__del:hover{ color:#B4473A; }
html body .ul-note__body{ font-size:14px; line-height:1.55; color:var(--ul-ink); white-space:normal; overflow-wrap:anywhere; }
html body .ul-lbn__form{ display:flex; flex-wrap:wrap; align-items:flex-end; gap:8px; margin-top:12px; }
html body .ul-lbn__form textarea{ flex:1 1 320px; min-height:44px; max-height:180px; padding:11px 16px; border:1px solid var(--ul-border); border-radius:14px; background:#fff; font-family:var(--ul-sans); font-size:14px; color:var(--ul-ink); resize:vertical; outline:none; }
html body .ul-lbn__form textarea:focus, html body .ul-lbn__name:focus{ border-color:var(--ul-accent2); box-shadow:0 0 0 3px rgba(179,142,101,.18); }
html body .ul-lbn__name{ flex:0 0 190px; height:44px; padding:0 16px; border:1px solid var(--ul-border); border-radius:999px; background:#fff; font-family:var(--ul-sans); font-size:13px; outline:none; }
html body .ul-lbn__form .ul-lbtn{ height:44px !important; padding:0 22px !important; }

html body .ul-lbhead--client .ul-lbhead__back{ color:var(--ul-accent-text) !important; }
html body .ul-lbhead--client .ul-lbhead__send{ display:inline-flex; align-items:center; text-decoration:none !important; }
html body .ul-lbx__intro{ max-width:760px; margin:18px auto 4px; text-align:center; font-size:14px; line-height:1.6; color:var(--ul-ink2); }
html body:has(.ul-lbhead--client) .breadcrumb-section{ display:none !important; }
html body .ul-lbhead--client{ padding-top:calc(var(--ul-hdr) + 28px); }
@media (max-width:767px){
  html body .ul-note{ max-width:100%; }
  html body .ul-lbn__name{ flex:1 1 100%; }
  html body .ul-lbn__form .ul-lbtn{ flex:1; justify-content:center; }
}
/* ===== /UL-2026 v23 ===== */
/* ===== UL-2026 v24: sticky lightbox toolbar + Lightboxes overview ===== */
html body .ul-lbx > .ul-lbx__bar, html body .ul-lbs__bar{ position:sticky; top:calc(var(--ul-hdr) - 1px); z-index:30; margin:14px -28px 12px; padding:10px 28px; background:rgba(248,246,242,.94); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-bottom:1px solid transparent; transition:border-color .2s, box-shadow .2s; }
html body .ul-lbx > .ul-lbx__bar.is-stuck, html body .ul-lbs__bar.is-stuck{ border-bottom-color:var(--ul-border); box-shadow:0 10px 24px -18px rgba(28,26,23,.35); }
html body .ul-lbx__send{ display:inline-flex; align-items:center; gap:9px; height:42px; padding:0 22px; border:0; border-radius:999px; background:var(--ul-btn); color:#fff; font-family:var(--ul-sans); font-size:11px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; cursor:pointer; box-shadow:0 8px 20px -10px rgba(99,74,69,.7); transition:background .2s, transform .2s; }
html body .ul-lbx__send:hover{ background:var(--ul-btn-hover); transform:translateY(-1px); }
html body .ul-lbx__send .fa{ font-size:13px; }

html body .ul-lbs{ max-width:1440px; margin:0 auto; padding:calc(var(--ul-hdr) + 34px) 28px 96px; font-family:var(--ul-sans); color:var(--ul-ink); }
html body:has(.ul-lbs) .breadcrumb-section{ display:none !important; }
html body .ul-lbs__head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:18px; padding-bottom:24px; border-bottom:1px solid var(--ul-border); }
html body .ul-lbs__eyebrow{ font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--ul-accent-text); }
html body .ul-lbs__head h1{ margin:6px 0 6px !important; font-size:clamp(34px,4vw,50px) !important; line-height:1.05; }
html body .ul-lbs__head p{ margin:0; font-size:13px; color:var(--ul-ink3); }
html body .ul-lbs__cta{ display:flex; flex-wrap:wrap; gap:10px; }
html body .ul-lbs__btn{ display:inline-flex; align-items:center; gap:8px; height:44px; padding:0 22px; border-radius:999px; background:var(--ul-btn); color:#fff !important; font-size:11px; letter-spacing:.16em; text-transform:uppercase; text-decoration:none !important; }
html body .ul-lbs__btn:hover{ background:var(--ul-btn-hover); }
html body .ul-lbs__btn--ghost{ background:transparent; color:var(--ul-ink) !important; border:1px solid var(--ul-border2); }
html body .ul-lbs__btn--ghost:hover{ background:#fff; }
html body .ul-lbs__grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:18px; margin-top:6px; }
html body .ul-lbs__card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--ul-border); border-radius:14px; overflow:hidden; transition:box-shadow .25s, transform .25s; }
html body .ul-lbs__card[hidden]{ display:none; }
html body .ul-lbs__card:hover{ box-shadow:0 18px 40px rgba(28,26,23,.10); transform:translateY(-2px); }
html body .ul-lbs__cover{ position:relative; display:grid; gap:3px; aspect-ratio:16/9; background:var(--ul-bg3); overflow:hidden; text-decoration:none !important; }
html body .ul-lbs__cover--1{ grid-template-columns:1fr; }
html body .ul-lbs__cover--2{ grid-template-columns:1fr 1fr; }
html body .ul-lbs__cover--3{ grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; }
html body .ul-lbs__cover--3 img:first-child{ grid-row:1 / 3; }
html body .ul-lbs__cover img{ width:100%; height:100%; min-height:0; object-fit:cover; display:block; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
html body .ul-lbs__card:hover .ul-lbs__cover img{ transform:scale(1.03); }
html body .ul-lbs__empty{ display:flex; align-items:center; justify-content:center; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--ul-ink3); }
html body .ul-lbs__flag{ position:absolute; top:10px; left:10px; padding:4px 10px; border-radius:999px; background:rgba(248,246,242,.94); font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--ul-ink); }
html body .ul-lbs__body{ display:flex; flex-direction:column; gap:10px; padding:16px 18px 18px; flex:1; }
html body .ul-lbs__title a{ font-family:var(--ul-serif); font-size:24px; line-height:1.15; color:var(--ul-ink) !important; text-decoration:none !important; }
html body .ul-lbs__meta{ font-size:12px; color:var(--ul-ink3); }
html body .ul-lbs__meta b{ color:var(--ul-ink); font-weight:500; }
html body .ul-lbs__folders{ display:flex; flex-wrap:wrap; gap:6px; }
html body .ul-lbs__folders a{ display:inline-flex; align-items:center; gap:6px; height:28px; padding:0 12px; border:1px solid var(--ul-border2); border-radius:999px; font-size:11.5px; color:var(--ul-ink) !important; text-decoration:none !important; }
html body .ul-lbs__folders a b{ font-weight:400; color:var(--ul-ink3); }
html body .ul-lbs__folders a:hover{ border-color:var(--ul-ink); }
html body .ul-lbs__activity{ display:flex; flex-wrap:wrap; gap:6px 14px; font-size:11.5px; color:var(--ul-ink3); }
html body .ul-lbs__activity .is-hot{ color:var(--ul-accent-text); font-weight:500; }
html body .ul-lbs__activity .fa{ margin-right:3px; }
html body .ul-lbs__actions{ display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; padding-top:6px; }
html body .ul-lbtn--send{ border-color:var(--ul-btn) !important; color:var(--ul-btn) !important; }
html body .ul-lbtn--send:hover{ background:var(--ul-btn) !important; color:#fff !important; }
@media (max-width:767px){
  html body .ul-lbs{ padding:calc(var(--ul-hdr) + 20px) 14px 80px; }
  html body .ul-lbs__grid{ grid-template-columns:1fr; }
  html body .ul-lbx > .ul-lbx__bar, html body .ul-lbs__bar{ margin-left:-14px; margin-right:-14px; padding:8px 14px; }
  html body .ul-lbx__send{ flex:1 1 100%; justify-content:center; }
}
/* ===== /UL-2026 v24 ===== */
/* v25: sign-up honeypot (hidden from people, filled by bots) */
html body .ul-hp{ position:absolute !important; left:-9999px !important; top:auto; width:1px; height:1px; overflow:hidden; }
/* v27: similar locations on the location page */
html body .ul-sim{ clear:both; max-width:1320px; margin:0 auto; padding:8px 28px 96px; }
html body .ul-sim__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; border-top:1px solid var(--ul-border); padding-top:48px; margin-bottom:28px; }
html body .ul-sim__eyebrow{ font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--ul-accent-text); margin-bottom:8px; }
html body .ul-sim__title{ font-family:var(--ul-serif) !important; font-size:clamp(30px,3.4vw,44px) !important; font-weight:400 !important; margin:0 !important; color:var(--ul-ink); line-height:1.05; text-transform:none; letter-spacing:0; }
html body .ul-sim__note{ margin:0; font-size:13px; color:var(--ul-ink3); max-width:320px; text-align:right; }
html body .ul-sim__grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px 18px; }
html body .ul-sim__card{ display:flex; flex-direction:column; color:var(--ul-ink); text-decoration:none !important; }
html body .ul-sim__ph{ display:block; aspect-ratio:3/2; overflow:hidden; border-radius:12px; background:var(--ul-bg3); }
html body .ul-sim__ph img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
html body .ul-sim__card:hover .ul-sim__ph img{ transform:scale(1.04); }
html body .ul-sim__code{ margin-top:12px; font-size:13px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; }
html body .ul-sim__loc{ margin-top:3px; font-size:12px; letter-spacing:.06em; color:var(--ul-ink3); text-transform:uppercase; }
html body .ul-sim__card:focus-visible{ outline:2px solid var(--ul-accent); outline-offset:4px; border-radius:12px; }
@media (max-width:991px){ html body .ul-sim__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:767px){
  html body .ul-sim{ padding:0 0 64px; }
  html body .ul-sim__head{ display:block; padding:36px 16px 0; margin-bottom:18px; }
  html body .ul-sim__note{ text-align:left; margin-top:8px; }
  html body .ul-sim__grid{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; padding:0 16px 8px; -webkit-overflow-scrolling:touch; }
  html body .ul-sim__card{ flex:0 0 72%; scroll-snap-align:start; }
}
/* ===== v28: cinematic home hero ===== */
html body .ul-hero{ position:relative; height:100vh; height:100svh; min-height:640px; max-height:1200px; overflow:hidden; background:#1C1A17; color:#fff; isolation:isolate; --ul-hp:0; }
html body .ul-hero__media{ position:absolute; inset:-3%; will-change:transform; transform:scale(1.04); }
html body .ul-hero__intro{ position:absolute; inset:0; transform:scale(1.16); filter:brightness(.55) blur(6px); transition:transform 2.8s cubic-bezier(.16,.84,.24,1), filter 2.2s cubic-bezier(.2,.7,.2,1); }
html body .ul-hero.is-ready .ul-hero__intro{ transform:scale(1); filter:none; }
html body .ul-hero__slide{ position:absolute; inset:0; opacity:0; overflow:hidden; transition:opacity 2s cubic-bezier(.4,0,.2,1); }
html body .ul-hero__slide.is-on{ opacity:1; z-index:2; }
html body .ul-hero__slide.is-leaving{ opacity:0; z-index:1; }
html body .ul-hero__slide img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform-origin:50% 50%; will-change:transform; filter:saturate(.96) contrast(1.02); }
html body .ul-hero__slide.kb-1 img{ animation:ulKb1 9.5s cubic-bezier(.25,.1,.25,1) forwards; }
html body .ul-hero__slide.kb-2 img{ animation:ulKb2 9.5s cubic-bezier(.25,.1,.25,1) forwards; }
html body .ul-hero__slide.kb-3 img{ animation:ulKb3 9.5s cubic-bezier(.25,.1,.25,1) forwards; }
html body .ul-hero.is-paused .ul-hero__slide img{ animation-play-state:paused; }
@keyframes ulKb1{ from{ transform:scale(1.02) translate3d(0,0,0); } to{ transform:scale(1.15) translate3d(-1.6%,-1%,0); } }
@keyframes ulKb2{ from{ transform:scale(1.16) translate3d(1.5%,1%,0); } to{ transform:scale(1.03) translate3d(0,0,0); } }
@keyframes ulKb3{ from{ transform:scale(1.05) translate3d(-1.5%,.8%,0); } to{ transform:scale(1.15) translate3d(1.4%,-.6%,0); } }
html body .ul-hero__shade{ position:absolute; inset:0; z-index:3; pointer-events:none;
  background:radial-gradient(ellipse 62% 58% at 50% 52%, rgba(20,18,15,.48) 0%, rgba(20,18,15,.2) 58%, rgba(20,18,15,.04) 100%),
             linear-gradient(180deg, rgba(20,18,15,.42) 0%, rgba(20,18,15,.08) 28%, rgba(20,18,15,.10) 62%, rgba(20,18,15,.62) 100%); }
html body .ul-hero__copy{ position:absolute; inset:0; z-index:4; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:var(--ul-hero-top,140px) 24px 70px;
  transform:translate3d(0, calc(var(--ul-hp) * -90px), 0); opacity:calc(1 - var(--ul-hp) * 1.5); }
html body .ul-hero__eyebrow{ display:flex; align-items:center; gap:14px; font-family:var(--ul-sans); font-size:10.5px; letter-spacing:.34em; text-transform:uppercase; color:rgba(255,255,255,.82); margin-bottom:clamp(14px,2.6vh,26px); text-shadow:0 1px 12px rgba(0,0,0,.4);
  opacity:0; transform:translateY(10px); transition:opacity 1.2s .5s, transform 1.2s .5s cubic-bezier(.2,.7,.2,1); }
html body .ul-hero__eyebrow i{ width:18px; height:1px; background:rgba(255,255,255,.5); display:block; }
html body .ul-hero__h1{ font-family:var(--ul-serif) !important; font-weight:300 !important; font-size:clamp(46px,min(7.6vw,11.5vh),124px) !important; line-height:1 !important; letter-spacing:-.005em; color:#fff !important; margin:0 0 clamp(14px,2.6vh,26px) !important; text-transform:none !important; text-shadow:0 2px 30px rgba(0,0,0,.35), 0 0 80px rgba(0,0,0,.2); }
html body .ul-hero__ln{ display:block; overflow:hidden; padding:0 .06em .06em; }
html body .ul-hero__h1 span, html body .ul-hero__h1 em{ font-family:var(--ul-serif) !important; font-size:inherit !important; line-height:inherit !important; letter-spacing:inherit !important; }
html body .ul-hero__ln > *{ display:inline-block; transform:translate3d(0,108%,0); transition:transform 1.5s cubic-bezier(.16,.84,.24,1); }
html body .ul-hero__ln:nth-child(2) > *{ transition-delay:.14s; }
html body .ul-hero__ln:nth-child(3) > *{ transition-delay:.28s; }
html body .ul-hero__h1 em{ font-style:italic; font-weight:300; color:#D8B98F; padding-right:.04em; }
html body .ul-hero__sub{ font-family:var(--ul-sans); font-size:13px; letter-spacing:.14em; color:rgba(255,255,255,.88); margin:0 0 clamp(18px,3.6vh,34px); text-shadow:0 1px 12px rgba(0,0,0,.45);
  opacity:0; transform:translateY(10px); transition:opacity 1.2s .85s, transform 1.2s .85s cubic-bezier(.2,.7,.2,1); }
html body .ul-hero__search{ position:relative; width:min(560px,100%); display:flex; align-items:center; gap:10px; padding:6px 6px 6px 22px; border-radius:999px;
  background:rgba(255,255,255,.94); box-shadow:0 24px 60px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.6); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  opacity:0; transform:translateY(14px); transition:opacity 1.2s 1.05s, transform 1.2s 1.05s cubic-bezier(.2,.7,.2,1), box-shadow .3s; }
html body .ul-hero__search:focus-within{ box-shadow:0 24px 60px rgba(0,0,0,.32), 0 0 0 3px rgba(216,185,143,.55); }
html body .ul-hero__search > .fa{ color:var(--ul-ink3); font-size:14px; }
html body .ul-hero__search input#search{ flex:1; min-width:0; height:44px; border:0 !important; outline:0; background:transparent !important; box-shadow:none !important; font-family:var(--ul-sans); font-size:14px !important; letter-spacing:.02em; color:var(--ul-ink) !important; padding:0 !important; }
html body .ul-hero__search input#search::placeholder{ color:#8A857C; }
html body .ul-hero__search button#search_datas{ flex:none; width:auto !important; min-width:0; white-space:nowrap; line-height:44px; height:44px; padding:0 24px !important; border:0 !important; border-radius:999px !important; background:var(--ul-btn) !important; color:#fff !important; font-family:var(--ul-sans); font-size:11px !important; letter-spacing:.2em; text-transform:uppercase; transition:background .25s; margin:0 !important; }
html body .ul-hero__search button#search_datas:hover{ background:var(--ul-btn-hover) !important; }
html body .ul-hero__search button#search_datas span{ display:inline-block; margin-left:6px; transition:transform .25s; }
html body .ul-hero__search button#search_datas:hover span{ transform:translateX(3px); }
html body .ul-hero__search #suggestions{ position:absolute; left:0; right:0; top:calc(100% + 8px); z-index:20; text-align:left; max-height:min(260px, 34vh); overflow-y:auto; border-radius:14px; box-shadow:0 18px 40px rgba(0,0,0,.25); }
html body .ul-hero.is-ready .ul-hero__ln > *{ transform:none; }
html body .ul-hero.is-ready .ul-hero__eyebrow, html body .ul-hero.is-ready .ul-hero__sub, html body .ul-hero.is-ready .ul-hero__search{ opacity:1; transform:none; }
html body .ul-hero__ctrl{ position:absolute; z-index:5; left:40px; right:40px; bottom:30px; display:flex; align-items:center; justify-content:space-between; pointer-events:none;
  opacity:0; transition:opacity 1.2s 1.4s; }
html body .ul-hero.is-ready .ul-hero__ctrl{ opacity:1; }
html body .ul-hero__ctrl > *{ pointer-events:auto; }
html body .ul-hero__count{ display:flex; align-items:center; gap:14px; font-family:var(--ul-sans); font-size:11px; letter-spacing:.2em; color:rgba(255,255,255,.7); }
html body .ul-hero__count b{ font-weight:500; color:#fff; }
html body .ul-hero__track{ position:relative; width:110px; height:1px; background:rgba(255,255,255,.28); overflow:hidden; }
html body .ul-hero__fill{ position:absolute; inset:0; background:#fff; transform:scaleX(0); transform-origin:0 50%; }
html body .ul-hero__btns{ display:flex; gap:8px; }
html body .ul-hero__btn{ width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,.4); background:rgba(28,26,23,.18); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); transition:background .25s, border-color .25s; padding:0; }
html body .ul-hero__btn:hover{ background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.8); }
html body .ul-hero__btn:focus-visible{ outline:2px solid #D8B98F; outline-offset:3px; }
html body .ul-hero__pi{ width:8px; height:10px; border-left:2px solid #fff; border-right:2px solid #fff; display:block; }
html body .ul-hero.is-paused .ul-hero__pi{ width:0; height:0; border:0; border-left:9px solid #fff; border-top:5.5px solid transparent; border-bottom:5.5px solid transparent; margin-left:3px; }
html body .ul-hero__scroll{ position:absolute; z-index:5; left:50%; bottom:22px; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:10px; color:rgba(255,255,255,.72) !important; text-decoration:none !important; font-family:var(--ul-sans); font-size:9.5px; letter-spacing:.32em; text-transform:uppercase;
  opacity:0; transition:opacity 1.2s 1.6s; }
html body .ul-hero.is-ready .ul-hero__scroll{ opacity:calc(1 - var(--ul-hp) * 4); }
html body .ul-hero__scroll i{ width:1px; height:34px; background:linear-gradient(rgba(255,255,255,.9),rgba(255,255,255,0)); display:block; animation:ulScrollCue 2.4s cubic-bezier(.6,0,.4,1) infinite; transform-origin:top; }
@keyframes ulScrollCue{ 0%{ transform:scaleY(0); opacity:1; } 55%{ transform:scaleY(1); opacity:1; } 100%{ transform:scaleY(1); opacity:0; } }
@media (max-width:767px){
  html body .ul-hero{ min-height:560px; }
  html body .ul-hero__h1{ font-size:clamp(44px,13vw,64px) !important; margin-bottom:18px !important; }
  html body .ul-hero__eyebrow{ font-size:9px; letter-spacing:.24em; gap:8px; margin-bottom:18px; }
  html body .ul-hero__eyebrow i{ width:10px; }
  html body .ul-hero__sub{ font-size:12px; letter-spacing:.08em; margin-bottom:24px; }
  html body .ul-hero__search{ padding:4px 4px 4px 16px; }
  html body .ul-hero__search button#search_datas{ padding:0 16px !important; font-size:10px !important; letter-spacing:.14em; }
  html body .ul-hero__search button#search_datas span{ display:none; }
  html body .ul-hero__ctrl{ left:16px; right:16px; bottom:18px; }
  html body .ul-hero__track{ width:56px; }
  html body .ul-hero__btn{ width:36px; height:36px; }
  html body .ul-hero__scroll{ display:none; }
}
@media (max-width:420px){ html body .ul-hero__search button#search_datas{ font-size:0 !important; width:44px !important; padding:0 !important; } html body .ul-hero__search button#search_datas span{ display:inline; font-size:16px; margin:0; } }
@media (prefers-reduced-motion:reduce){
  html body .ul-hero__intro{ transform:none; filter:none; transition:none; }
  html body .ul-hero__slide img{ animation:none !important; transform:scale(1.04); }
  html body .ul-hero__ln > *, html body .ul-hero__eyebrow, html body .ul-hero__sub, html body .ul-hero__search, html body .ul-hero__ctrl, html body .ul-hero__scroll{ transition:opacity .6s !important; transform:none !important; }
  html body .ul-hero__scroll i{ animation:none; }
}
