@font-face{font-family:'Bebas Neue';src:url('https://citytyresauto.com.au/wp-content/uploads/2026/09/BebasNeue-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
.cth-wrap{width:100%;font-family:'Manrope',sans-serif;color:#fff;overflow:hidden;background:#111}
.cth-hero{position:relative;height:var(--cth-desktop-vh);min-height:520px;overflow:hidden;background:#111}
.cth-slides,.cth-slide-bg,.cth-overlay,.cth-gradient{position:absolute;inset:0}
.cth-slide-bg{background-image:var(--cth-desktop);background-size:cover;background-position:var(--cth-pos);opacity:0;transition:opacity var(--cth-transition) ease;will-change:opacity}.cth-slide-bg.is-active{opacity:1}
.cth-overlay{background:rgba(0,0,0,var(--cth-overlay));pointer-events:none}
.cth-gradient{background:linear-gradient(90deg,rgba(0,0,0,var(--cth-gradient)) 0%,rgba(0,0,0,.76) 31%,rgba(0,0,0,.28) 58%,rgba(0,0,0,.06) 78%,rgba(0,0,0,0) 100%);pointer-events:none}
.cth-inner{position:relative;z-index:4;height:100%;max-width:1440px;margin:0 auto;padding:0 5vw;display:flex}
.cth-valign-top .cth-inner{align-items:flex-start;padding-top:8vh}.cth-valign-center .cth-inner{align-items:center}.cth-valign-bottom .cth-inner{align-items:flex-end;padding-bottom:8vh}
.cth-align-left .cth-inner{justify-content:flex-start;text-align:left}.cth-align-center .cth-inner{justify-content:center;text-align:center}.cth-align-right .cth-inner{justify-content:flex-end;text-align:right}
.cth-content{width:min(100%,var(--cth-content-width))}.cth-align-center .cth-content{margin-inline:auto}
.cth-eyebrow{font-size:13px;line-height:1.2;font-weight:700;letter-spacing:.04em;color:#e71920;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:14px}.cth-eyebrow:before{content:'';width:32px;height:2px;background:#e71920;display:inline-block}.cth-align-center .cth-eyebrow{justify-content:center}.cth-align-right .cth-eyebrow{justify-content:flex-end}
.cth-content h1{font-family:'Bebas Neue',sans-serif!important;font-size:clamp(58px,5.3vw,104px);line-height:.91;letter-spacing:.01em;font-weight:400;margin:0;max-width:840px;color:#fff;text-wrap:balance}.cth-subtitle{font-size:16px;line-height:1.65;font-weight:400;color:rgba(255,255,255,.86);max-width:760px;margin:24px 0 0}
.cth-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:30px}.cth-align-center .cth-actions{justify-content:center}.cth-align-right .cth-actions{justify-content:flex-end}
.cth-btn{min-height:56px;padding:0 26px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid rgba(255,255,255,.34);border-radius:0!important;text-decoration:none!important;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;transition:.22s ease;box-sizing:border-box}.cth-btn-primary{background:#e71920;color:#fff!important;border-color:#e71920}.cth-btn-primary:hover{background:#b90f15;border-color:#b90f15}.cth-btn-secondary{background:rgba(8,8,8,.24);color:#fff!important;backdrop-filter:blur(4px)}.cth-btn-secondary:hover{background:#fff;color:#111!important;border-color:#fff}
.cth-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px}.cth-icon svg{width:100%;height:100%;display:block;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cth-btn-primary .cth-icon-arrow{margin-left:3px}
.cth-rating{margin-top:20px;display:inline-flex;align-items:center;gap:12px;background:#fff;color:#111;padding:12px 16px;border-radius:0!important;min-height:58px;box-sizing:border-box;border:1px solid rgba(255,255,255,.15);box-shadow:none}.cth-google-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex:0 0 24px}.cth-google-icon svg{width:22px;height:22px;display:block}.cth-rating-copy{display:flex;flex-direction:column;gap:2px;text-align:left}.cth-rating-label{font-size:10px;color:#656565;line-height:1}.cth-rating-row{display:flex;align-items:center;gap:6px;white-space:nowrap}.cth-rating-row strong{font-size:12px}.cth-stars{display:inline-flex;align-items:center;gap:1px;color:#ffb400}.cth-stars svg{width:12px;height:12px;display:block;fill:currentColor}.cth-rating-row small{font-size:10px;color:#555}
.cth-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:46px;height:46px;border:1px solid rgba(255,255,255,.28);border-radius:0;background:rgba(0,0,0,.28);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s}.cth-arrow:hover{background:#e71920;border-color:#e71920}.cth-arrow svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}.cth-prev{left:20px}.cth-next{right:20px}.cth-dots{position:absolute;z-index:5;right:32px;bottom:26px;display:flex;gap:8px}.cth-dot{width:28px;height:3px;padding:0;border:0;background:rgba(255,255,255,.35);border-radius:0;cursor:pointer}.cth-dot.is-active{background:#e71920}
.cth-info-strip{position:relative;z-index:6;background:#e71920}.cth-info-inner{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:repeat(var(--cth-info-count,4),minmax(0,1fr));padding:0 5vw}.cth-info-card{padding:25px 28px;border-right:1px solid rgba(255,255,255,.28);min-height:104px;display:flex;flex-direction:column;justify-content:center}.cth-info-card:first-child{border-left:1px solid rgba(255,255,255,.28)}.cth-info-card strong{font-family:'Bebas Neue',sans-serif;font-size:31px;line-height:1;color:#fff;font-weight:400;letter-spacing:.01em}.cth-info-card span{margin-top:8px;font-size:12px;color:rgba(255,255,255,.86)}
@media(max-width:900px){.cth-hero{height:var(--cth-mobile-vh);min-height:620px}.cth-slide-bg{background-image:var(--cth-mobile)}.cth-gradient{background:linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.62) 52%,rgba(0,0,0,.94) 100%)}.cth-inner{padding:0 24px;align-items:flex-end!important;padding-bottom:44px}.cth-content{width:100%}.cth-content h1{font-size:clamp(52px,15vw,78px);line-height:.92}.cth-subtitle{font-size:14px;line-height:1.55;margin-top:18px}.cth-actions{margin-top:24px;gap:10px}.cth-btn{min-height:52px;padding:0 18px;font-size:12px}.cth-rating{margin-top:14px}.cth-arrow{display:none}.cth-dots{left:24px;right:auto;bottom:18px}.cth-info-inner{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.cth-info-card{padding:20px 18px;min-height:90px;border-right:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}.cth-info-card:first-child{border-left:0}.cth-info-card strong{font-size:25px}.cth-info-card span{font-size:11px}.cth-align-center .cth-eyebrow,.cth-align-right .cth-eyebrow{justify-content:flex-start}.cth-align-center .cth-inner,.cth-align-right .cth-inner{justify-content:flex-start;text-align:left}.cth-align-center .cth-actions,.cth-align-right .cth-actions{justify-content:flex-start}}
@media(max-width:520px){.cth-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.cth-btn{width:100%;padding:0 12px}.cth-rating{width:100%;justify-content:flex-start}.cth-info-card strong{font-size:22px}.cth-content h1{font-size:clamp(50px,16.5vw,70px)}}

/* v1.1.3 - force info strip dividers to brand yellow */
.cth-info-card{border-left:1px solid #FFD400 !important;border-bottom-color:#FFD400 !important}
.cth-info-card:last-child{border-right:1px solid #FFD400 !important}
@media(max-width:900px){
  .cth-info-card{border-bottom:1px solid #FFD400 !important}
  .cth-info-card:nth-child(odd){border-left:0 !important}
  .cth-info-card:nth-child(even){border-left:1px solid #FFD400 !important}
}
@media(min-width:901px){
  .cth-info-card{border-bottom:0 !important}
}

/* v1.1.4 - yellow border on every outer and inner edge of the info grid */
.cth-info-inner{
  border:1px solid #FFD400 !important;
  box-sizing:border-box;
}
.cth-info-card{
  border-left:0 !important;
  border-top:0 !important;
  border-bottom:0 !important;
  border-right:1px solid #FFD400 !important;
  box-sizing:border-box;
}
.cth-info-card:last-child{
  border-right:0 !important;
}
@media(max-width:900px){
  .cth-info-card{
    border-left:0 !important;
    border-top:0 !important;
    border-right:1px solid #FFD400 !important;
    border-bottom:1px solid #FFD400 !important;
  }
  .cth-info-card:nth-child(2n){
    border-right:0 !important;
  }
  .cth-info-card:nth-last-child(-n+2){
    border-bottom:0 !important;
  }
}


/* v1.1.5 - desktop/mobile specific yellow divider system for red info strip */
.cth-info-strip{
  border-top:1px solid #FFD400 !important;
  border-bottom:1px solid #FFD400 !important;
}
@media(min-width:901px){
  .cth-info-inner{
    border:0 !important;
    padding:0 0 !important;
    max-width:none !important;
    width:100% !important;
  }
  .cth-info-card{
    border-top:0 !important;
    border-bottom:0 !important;
    border-left:0 !important;
    border-right:1px solid #FFD400 !important;
    min-height:108px;
  }
  .cth-info-card:first-child{
    border-left:0 !important;
  }
  .cth-info-card:last-child{
    border-right:0 !important;
  }
}
@media(max-width:900px){
  .cth-info-inner{
    border:1px solid #FFD400 !important;
    border-top:0 !important;
    width:100% !important;
    padding:0 !important;
    box-sizing:border-box;
  }
  .cth-info-card{
    border-right:1px solid #FFD400 !important;
    border-bottom:1px solid #FFD400 !important;
    border-left:0 !important;
    border-top:0 !important;
  }
  .cth-info-card:nth-child(2n){
    border-right:0 !important;
  }
  .cth-info-card:nth-last-child(-n+2){
    border-bottom:0 !important;
  }
}


/* v1.1.6 - slightly thinner mobile yellow grid lines only */
@media(max-width:900px){
  .cth-info-strip{
    border-top:0.75px solid #FFD400 !important;
    border-bottom:0.75px solid #FFD400 !important;
  }
  .cth-info-inner{
    border-left:0.75px solid #FFD400 !important;
    border-right:0.75px solid #FFD400 !important;
    border-bottom:0.75px solid #FFD400 !important;
  }
  .cth-info-card{
    border-right-width:0.75px !important;
    border-bottom-width:0.75px !important;
  }
}

/* v1.2.1 - interactive info strip + premium popups */
.cth-info-card{position:relative;width:100%;appearance:none!important;-webkit-appearance:none!important;background:#e71920!important;color:#fff!important;text-align:left!important;font:inherit!important;cursor:pointer;border-radius:0!important;transition:background .18s ease,color .18s ease,box-shadow .18s ease!important;box-shadow:none!important}
.cth-info-card:hover,.cth-info-card:focus,.cth-info-card:focus-visible,.cth-info-card:active{background:#c9141b!important;color:#fff!important;outline:none!important;box-shadow:inset 0 3px 0 #FFD400!important;border-color:#FFD400!important}
.cth-info-card strong,.cth-info-card span{color:#fff!important}
.cth-info-open{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:30px;height:30px;display:grid;place-items:center;color:#FFD400!important;opacity:0;transition:.2s ease}
.cth-info-open svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.cth-info-card:hover .cth-info-open,.cth-info-card:focus-visible .cth-info-open{opacity:1;transform:translate(3px,-50%)}
body.cth-info-modal-open{overflow:hidden}
.cth-info-modal{display:none;position:fixed;inset:0;z-index:999999}
.cth-info-modal.is-open{display:block}
.cth-info-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}
.cth-info-modal-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(980px,calc(100vw - 48px));min-height:520px;background:#0d0d0d;color:#fff;border:1px solid rgba(255,255,255,.10);box-shadow:0 36px 120px rgba(0,0,0,.62);overflow:hidden;display:grid;grid-template-columns:38% 62%;border-radius:0!important}
.cth-info-modal-close{position:absolute;right:0;top:0;z-index:8;width:58px;height:58px;border:0!important;border-radius:0!important;background:#e71920!important;color:#fff!important;display:grid;place-items:center;cursor:pointer;transition:.18s ease}
.cth-info-modal-close:hover,.cth-info-modal-close:focus{background:#b90f15!important;color:#fff!important;outline:none!important}
.cth-info-modal-close svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2}
.cth-info-modal-visual{position:relative;background:#FFD400;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:46px 34px 34px;overflow:hidden;border-right:1px solid rgba(255,255,255,.08)}
.cth-info-modal-visual:before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 52%,rgba(231,25,32,.10) 52% 100%)}
.cth-info-modal-visual:after{content:'';position:absolute;left:-54px;bottom:-70px;width:285px;height:210px;background:repeating-conic-gradient(from 45deg,rgba(231,25,32,.12) 0 25%,transparent 0 50%) 0 0/42px 42px;transform:rotate(-11deg)}
.cth-info-modal-number{position:absolute;left:26px;top:22px;z-index:2;font-family:'Bebas Neue',sans-serif;font-size:36px;line-height:1;color:#e71920}
.cth-info-modal-icon{position:relative;z-index:2;width:190px;height:190px;display:grid;place-items:center;background:#111;color:#fff;border:1px solid rgba(17,17,17,.2)}
.cth-info-modal-icon svg{width:126px;height:126px;display:block}
.cth-info-modal-visual-title{position:relative;z-index:2;margin-top:26px;font-family:'Bebas Neue',sans-serif;font-size:34px;line-height:1;text-align:center;color:#111;text-transform:uppercase}
.cth-info-modal-visual-foot{position:absolute;left:24px;bottom:18px;z-index:2;font-size:9px;font-weight:800;letter-spacing:.18em;color:#111}
.cth-info-modal-content{position:relative;padding:68px 64px 58px;display:flex;flex-direction:column;justify-content:center;background:#0d0d0d;overflow:hidden}
.cth-info-modal-content:after{content:'';position:absolute;right:-70px;bottom:-110px;width:260px;height:260px;border:46px solid rgba(255,255,255,.018);border-radius:50%;pointer-events:none}
.cth-info-modal-rule{width:72px;height:4px;background:linear-gradient(90deg,#FFD400 0 28%,#e71920 28% 100%);margin-bottom:30px}
.cth-info-modal-kicker{position:relative;z-index:2;font-size:11px;font-weight:700;letter-spacing:.18em;color:#e71920;margin-bottom:14px}
.cth-info-modal-content h3{position:relative;z-index:2;font-family:'Bebas Neue',sans-serif;font-size:clamp(54px,5vw,78px);line-height:.92;font-weight:400;margin:0 0 24px;color:#fff;text-transform:uppercase;max-width:620px}
.cth-info-modal-content p{position:relative;z-index:2;font-size:15px;line-height:1.8;color:#d8d8d8;margin:0;max-width:620px}
.cth-info-modal-meta{position:relative;z-index:2;display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.cth-info-modal-meta span{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.14);font-size:9px;font-weight:800;letter-spacing:.12em;color:#fff;text-transform:uppercase;background:rgba(255,255,255,.025)}
.cth-info-modal-meta span:first-child{border-color:rgba(255,212,0,.44);color:#FFD400}
.cth-info-modal-cta{position:relative;z-index:2;margin-top:30px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;align-self:flex-start;min-width:225px;padding:17px 19px;background:#e71920!important;color:#fff!important;text-decoration:none!important;font-size:11px;font-weight:800;letter-spacing:.08em;border:1px solid #e71920!important;border-radius:0!important;transition:.18s ease}
.cth-info-modal-cta:hover,.cth-info-modal-cta:focus{background:#b90f15!important;border-color:#FFD400!important;color:#fff!important;outline:none!important;box-shadow:none!important}
.cth-info-modal-cta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
@media(max-width:900px){.cth-info-open{display:none}.cth-info-modal-panel{grid-template-columns:34% 66%;width:min(900px,calc(100vw - 28px))}.cth-info-modal-content{padding:56px 42px 48px}.cth-info-modal-icon{width:150px;height:150px}.cth-info-modal-icon svg{width:100px;height:100px}.cth-info-modal-visual-title{font-size:28px}}
@media(max-width:640px){.cth-info-modal-panel{inset:0;left:0;top:0;transform:none;width:100%;height:100%;min-height:0;grid-template-columns:1fr;grid-template-rows:230px 1fr;border:0}.cth-info-modal-visual{padding:28px 22px 18px;align-items:flex-start;justify-content:center}.cth-info-modal-number{left:18px;top:16px;font-size:30px}.cth-info-modal-icon{width:118px;height:118px;margin-left:8px}.cth-info-modal-icon svg{width:78px;height:78px}.cth-info-modal-visual-title{position:absolute;left:160px;right:70px;top:84px;margin:0;text-align:left;font-size:31px}.cth-info-modal-visual-foot{left:18px;bottom:12px}.cth-info-modal-content{padding:38px 22px 30px;justify-content:flex-start;overflow-y:auto}.cth-info-modal-rule{margin-bottom:24px}.cth-info-modal-content h3{font-size:52px}.cth-info-modal-content p{font-size:14px;line-height:1.72}.cth-info-modal-meta{margin-top:20px}.cth-info-modal-cta{width:100%;align-self:stretch}.cth-info-modal-close{width:52px;height:52px}}

/* v1.3.0 — tyre catalogue + booking bridge */
.cth-catalogue-modal{display:none;position:fixed;inset:0;z-index:1000000}.cth-catalogue-modal.is-open{display:block}.cth-catalogue-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.86);backdrop-filter:blur(8px)}
.cth-catalogue-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1320px,calc(100vw - 48px));height:min(820px,calc(100vh - 48px));background:#0b0b0b;color:#fff;border:1px solid rgba(255,255,255,.1);overflow:hidden;display:grid;grid-template-rows:auto 1fr;border-radius:0!important;box-shadow:0 36px 120px rgba(0,0,0,.62)}
.cth-catalogue-close{position:absolute;right:0;top:0;z-index:9;width:60px;height:60px;border:0!important;border-radius:0!important;background:#e71920!important;color:#fff!important;display:grid;place-items:center;cursor:pointer}.cth-catalogue-close:hover,.cth-catalogue-close:focus{background:#b90f15!important;color:#fff!important;outline:none!important}.cth-catalogue-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
.cth-catalogue-head{padding:42px 84px 26px 42px;border-bottom:1px solid rgba(255,255,255,.09);background:linear-gradient(90deg,#FFD400 0 12px,#111 12px 100%)}.cth-catalogue-kicker{font-size:10px;font-weight:800;letter-spacing:.18em;color:#e71920;margin-bottom:9px}.cth-catalogue-head h3{font-family:'Bebas Neue',sans-serif;font-size:62px;line-height:.92;font-weight:400;margin:0;color:#fff}.cth-catalogue-head p{font-size:13px;line-height:1.65;color:#cfcfcf;max-width:820px;margin:14px 0 0}
.cth-catalogue-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.cth-catalogue-filters button{appearance:none;border:1px solid rgba(255,255,255,.16)!important;background:#151515!important;color:#fff!important;border-radius:0!important;min-height:34px;padding:0 12px;font:800 9px/1 Manrope,sans-serif;letter-spacing:.12em;cursor:pointer}.cth-catalogue-filters button:hover,.cth-catalogue-filters button:focus,.cth-catalogue-filters button.is-active{background:#FFD400!important;color:#111!important;border-color:#FFD400!important;outline:none!important}
.cth-catalogue-grid{padding:28px 34px 34px;overflow-y:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-content:start;scrollbar-width:thin;scrollbar-color:#e71920 #111}.cth-catalogue-grid::-webkit-scrollbar{width:7px}.cth-catalogue-grid::-webkit-scrollbar-track{background:#111}.cth-catalogue-grid::-webkit-scrollbar-thumb{background:#e71920}
.cth-product-card{background:#141414;border:1px solid rgba(255,255,255,.09);border-bottom:3px solid #e71920;min-width:0;display:flex;flex-direction:column;border-radius:0!important;transition:transform .18s ease,border-color .18s ease}.cth-product-card:hover{transform:translateY(-3px);border-color:rgba(255,212,0,.6);border-bottom-color:#FFD400}
.cth-product-media{height:180px;background:#1b1b1b center/cover no-repeat;position:relative;overflow:hidden}.cth-product-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.38))}.cth-product-fallback{position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#181818,#0d0d0d)}.cth-product-fallback:after{content:'';position:absolute;right:-25px;top:-30px;width:140px;height:140px;background:repeating-conic-gradient(from 45deg,rgba(255,255,255,.035) 0 25%,transparent 0 50%) 0 0/26px 26px}.cth-product-fallback svg{position:relative;z-index:2;width:130px;height:98px}.cth-product-badge{position:absolute;left:0;top:0;z-index:3;background:#e71920;color:#FFD400;padding:9px 12px;font:400 16px/1 'Bebas Neue',sans-serif;letter-spacing:.06em}
.cth-product-body{padding:20px 20px 18px;display:flex;flex-direction:column;flex:1}.cth-product-category{font:800 9px/1 Manrope,sans-serif;letter-spacing:.15em;color:#e71920;margin-bottom:8px}.cth-product-body h4{font:400 31px/.95 'Bebas Neue',sans-serif;margin:0;color:#fff}.cth-product-body p{font-size:12px;line-height:1.6;color:#c6c6c6;margin:10px 0 18px;flex:1}.cth-product-book{appearance:none;border:1px solid #FFD400!important;background:#111!important;color:#fff!important;border-radius:0!important;min-height:42px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;font:800 10px/1 Manrope,sans-serif;letter-spacing:.1em;cursor:pointer}.cth-product-book:hover,.cth-product-book:focus{background:#e71920!important;color:#fff!important;border-color:#FFD400!important;outline:none!important;box-shadow:none!important}.cth-product-book svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
.cth-info-card[data-cth-action="booking"] .cth-info-open,.cth-info-card[data-cth-action="catalogue"] .cth-info-open{opacity:.65}
.cth-info-card[data-cth-action="booking"]:hover,.cth-info-card[data-cth-action="catalogue"]:hover{background:#c9141b!important;color:#fff!important}
@media(max-width:980px){.cth-catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cth-catalogue-panel{width:calc(100vw - 28px);height:calc(100vh - 28px)}.cth-catalogue-head{padding:34px 70px 24px 28px}.cth-catalogue-head h3{font-size:54px}}
@media(max-width:640px){.cth-catalogue-panel{inset:0;left:0;top:0;transform:none;width:100%;height:100%;border:0}.cth-catalogue-head{padding:28px 64px 20px 18px}.cth-catalogue-head h3{font-size:48px}.cth-catalogue-head p{font-size:12px}.cth-catalogue-filters{gap:6px;margin-top:16px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.cth-catalogue-filters button{flex:0 0 auto}.cth-catalogue-grid{grid-template-columns:1fr;padding:16px 14px 24px;gap:12px}.cth-product-card{display:grid;grid-template-columns:124px 1fr}.cth-product-media{height:100%;min-height:170px}.cth-product-body{padding:16px}.cth-product-body h4{font-size:27px}.cth-product-body p{font-size:11px;margin:8px 0 14px}.cth-product-book{min-height:40px}.cth-catalogue-close{width:52px;height:52px}}

/* v1.3.1 — white-dominant tyre catalogue + fully editable product links */
.cth-catalogue-panel{background:#f7f7f4!important;color:#111!important;border:1px solid rgba(0,0,0,.14)!important;box-shadow:0 36px 120px rgba(0,0,0,.45)!important}
.cth-catalogue-head{background:#fff!important;border-bottom:1px solid #ddd!important;box-shadow:inset 10px 0 0 #FFD400!important}
.cth-catalogue-kicker{color:#e71920!important}
.cth-catalogue-head h3{color:#111!important}
.cth-catalogue-head p{color:#565656!important}
.cth-catalogue-filters button{background:#fff!important;color:#111!important;border:1px solid #d0d0d0!important}
.cth-catalogue-filters button:hover,.cth-catalogue-filters button:focus{background:#fff4b8!important;color:#111!important;border-color:#FFD400!important;outline:none!important;box-shadow:none!important}
.cth-catalogue-filters button.is-active{background:#FFD400!important;color:#111!important;border-color:#FFD400!important}
.cth-catalogue-grid{background:#f4f4f1!important;scrollbar-color:#e71920 #e7e7e2!important}
.cth-catalogue-grid::-webkit-scrollbar-track{background:#e7e7e2!important}.cth-catalogue-grid::-webkit-scrollbar-thumb{background:#e71920!important}
.cth-product-card{background:#fff!important;border:1px solid #deded8!important;border-bottom:4px solid #e71920!important;box-shadow:0 10px 30px rgba(0,0,0,.06)!important}
.cth-product-card:hover{transform:translateY(-3px);border-color:#FFD400!important;border-bottom-color:#e71920!important;box-shadow:0 16px 34px rgba(0,0,0,.10)!important}
.cth-product-media{background:#f0f0ec center/cover no-repeat!important;border-bottom:1px solid #e7e7e2!important}
.cth-product-media:after{background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.06))!important}
.cth-product-fallback{color:#111!important;background:linear-gradient(135deg,#fff,#efefe9)!important}
.cth-product-fallback:after{background:repeating-conic-gradient(from 45deg,rgba(255,212,0,.18) 0 25%,transparent 0 50%) 0 0/26px 26px!important}
.cth-product-badge{background:#e71920!important;color:#FFD400!important}
.cth-product-category{color:#e71920!important}
.cth-product-body h4{color:#111!important}
.cth-product-body p{color:#555!important}
.cth-product-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:auto}
.cth-product-link,.cth-product-book{appearance:none;border-radius:0!important;min-height:42px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;font:800 10px/1 Manrope,sans-serif;letter-spacing:.1em;text-decoration:none!important;cursor:pointer;box-sizing:border-box}
.cth-product-link{background:#fff!important;color:#111!important;border:1px solid #111!important}
.cth-product-link:hover,.cth-product-link:focus{background:#111!important;color:#fff!important;border-color:#111!important;outline:none!important;box-shadow:none!important}
.cth-product-book{background:#FFD400!important;color:#111!important;border:1px solid #FFD400!important}
.cth-product-book:hover,.cth-product-book:focus{background:#e71920!important;color:#fff!important;border-color:#e71920!important;outline:none!important;box-shadow:none!important}
.cth-product-link svg,.cth-product-book svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
.cth-catalogue-close{background:#e71920!important;color:#fff!important}
.cth-catalogue-close:hover,.cth-catalogue-close:focus{background:#b90f15!important;color:#fff!important}
@media(max-width:640px){.cth-catalogue-head{box-shadow:inset 6px 0 0 #FFD400!important}.cth-product-card{background:#fff!important}.cth-product-actions{gap:7px}}

/* v1.3.2 — catalogue image reliability + mobile rebuild */
.cth-product-media{background-color:#f0f0ec!important;background-image:none!important;display:block;overflow:hidden;position:relative}
.cth-product-image{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center;z-index:1;transition:transform .28s ease}
.cth-product-card:hover .cth-product-image{transform:scale(1.025)}
.cth-product-media:after{z-index:2;pointer-events:none}.cth-product-fallback{z-index:1}.cth-product-badge{z-index:4}
.cth-catalogue-panel,.cth-catalogue-head,.cth-catalogue-grid,.cth-product-card,.cth-product-body{min-width:0;box-sizing:border-box}
.cth-catalogue-head{overflow:hidden}
.cth-catalogue-filters{max-width:100%;scrollbar-width:none}.cth-catalogue-filters::-webkit-scrollbar{display:none}
@media(max-width:640px){
  .cth-catalogue-modal{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;overflow:hidden!important}
  .cth-catalogue-backdrop{display:none!important}
  .cth-catalogue-panel{position:absolute!important;inset:0!important;left:0!important;top:0!important;transform:none!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;background:#f4f4f1!important}
  .cth-catalogue-close{position:absolute!important;top:0!important;right:0!important;width:54px!important;height:54px!important;z-index:30!important}
  .cth-catalogue-head{flex:0 0 auto!important;width:100%!important;padding:22px 64px 14px 18px!important;box-shadow:inset 5px 0 0 #FFD400!important;overflow:hidden!important;background:#fff!important}
  .cth-catalogue-kicker{font-size:9px!important;margin-bottom:7px!important}
  .cth-catalogue-head h3{font-size:42px!important;line-height:.92!important;margin:0!important}
  .cth-catalogue-head p{font-size:11px!important;line-height:1.5!important;margin:10px 0 0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .cth-catalogue-filters{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;margin-top:12px!important;overflow-x:auto!important;overflow-y:hidden!important;width:100%!important;max-width:100%!important;padding:0 0 2px!important;-webkit-overflow-scrolling:touch}
  .cth-catalogue-filters button{flex:0 0 auto!important;min-height:32px!important;padding:0 11px!important;font-size:8px!important}
  .cth-catalogue-grid{flex:1 1 auto!important;min-height:0!important;width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:14px 14px 26px!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;background:#f4f4f1!important}
  .cth-product-card{display:flex!important;flex-direction:column!important;width:100%!important;min-width:0!important;background:#fff!important}
  .cth-product-media{width:100%!important;height:190px!important;min-height:190px!important}
  .cth-product-body{width:100%!important;padding:16px!important}
  .cth-product-body h4{font-size:30px!important;line-height:.96!important}
  .cth-product-body p{font-size:12px!important;line-height:1.55!important;margin:8px 0 14px!important}
  .cth-product-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .cth-product-link,.cth-product-book{width:100%!important;min-height:44px!important}
  .cth-product-badge{font-size:15px!important;padding:8px 11px!important}
}
@media(max-width:390px){.cth-catalogue-head h3{font-size:38px!important}.cth-product-media{height:170px!important;min-height:170px!important}}


/* v1.4.0 — internal single-product popup + smart booking handoff */
.cth-product-view{appearance:none;width:100%;border:1px solid #111!important;background:#fff!important;color:#111!important;border-radius:0!important;min-height:44px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;gap:14px;font:800 10px/1 Manrope,sans-serif;letter-spacing:.1em;cursor:pointer}
.cth-product-view:hover,.cth-product-view:focus{background:#111!important;color:#fff!important;border-color:#111!important;box-shadow:none!important;outline:none!important}
.cth-product-view svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
.cth-product-modal{display:none;position:fixed;inset:0;z-index:1000010}
.cth-product-modal.is-open{display:block}
.cth-product-detail-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.86);backdrop-filter:blur(8px)}
.cth-product-detail-shell{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1120px,calc(100vw - 48px));max-height:calc(100vh - 48px);background:#fff;color:#111;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);overflow:hidden;border-left:10px solid #FFD400}
.cth-product-detail-close{position:absolute;right:0;top:0;z-index:5;width:60px;height:60px;border:0!important;border-radius:0!important;background:#e71920!important;color:#fff!important;display:grid;place-items:center;cursor:pointer}
.cth-product-detail-close:hover,.cth-product-detail-close:focus{background:#b90f15!important;color:#fff!important;box-shadow:none!important;outline:none!important}
.cth-product-detail-close svg,.cth-product-detail-actions svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
.cth-product-detail-media{position:relative;min-height:600px;background:#efefe9;overflow:hidden}
.cth-product-detail-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.cth-product-detail-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.25))}
.cth-product-detail-badge{position:absolute;left:0;top:0;z-index:2;background:#e71920;color:#FFD400;padding:12px 16px;font:400 20px/1 'Bebas Neue',sans-serif;letter-spacing:.08em}
.cth-product-detail-watermark{position:absolute;left:24px;bottom:20px;z-index:2;color:#fff;font:800 10px/1 Manrope,sans-serif;letter-spacing:.16em}
.cth-product-detail-content{padding:68px 48px 42px;overflow-y:auto}
.cth-product-detail-kicker{font:800 10px/1 Manrope,sans-serif;letter-spacing:.18em;color:#e71920;margin-bottom:10px}
.cth-product-detail-category{font:800 10px/1 Manrope,sans-serif;letter-spacing:.14em;color:#a3a3a3;margin-bottom:12px}
.cth-product-detail-content h3{font:400 58px/.95 'Bebas Neue',sans-serif;margin:0 0 24px;color:#111}
.cth-product-detail-meta{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e3e3de;border-bottom:1px solid #e3e3de;margin-bottom:22px}
.cth-product-detail-meta span{padding:15px 0}.cth-product-detail-meta span+span{padding-left:20px;border-left:1px solid #e3e3de}
.cth-product-detail-meta small{display:block;font:800 9px/1 Manrope,sans-serif;letter-spacing:.13em;color:#e71920;margin-bottom:7px}
.cth-product-detail-meta b{font:700 13px/1.4 Manrope,sans-serif;color:#111}
.cth-product-detail-description{font:400 14px/1.75 Manrope,sans-serif;color:#4c4c4c;margin:0 0 22px}
.cth-product-detail-features{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin:0 0 28px}
.cth-product-detail-features div{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #ecece8}
.cth-product-detail-features span{display:grid;place-items:center;width:24px;height:24px;background:#FFD400;color:#111;font-weight:900}
.cth-product-detail-features b{font:700 11px/1.35 Manrope,sans-serif;color:#222}
.cth-product-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cth-product-detail-actions a,.cth-product-detail-actions button{min-height:52px;padding:0 16px;border-radius:0!important;display:flex;align-items:center;justify-content:space-between;text-decoration:none!important;font:800 10px/1 Manrope,sans-serif;letter-spacing:.1em;cursor:pointer}
.cth-product-detail-page{border:1px solid #111!important;background:#fff!important;color:#111!important}
.cth-product-detail-page:hover,.cth-product-detail-page:focus{background:#111!important;color:#fff!important;box-shadow:none!important}
.cth-product-detail-book{border:1px solid #FFD400!important;background:#FFD400!important;color:#111!important}
.cth-product-detail-book:hover,.cth-product-detail-book:focus{background:#e71920!important;border-color:#e71920!important;color:#fff!important;box-shadow:none!important}
.cth-product-detail-note{margin-top:14px;font:500 10px/1.55 Manrope,sans-serif;color:#777}
@media(max-width:760px){
  .cth-product-detail-shell{inset:0;left:0;top:0;transform:none;width:100vw;height:100dvh;max-height:none;grid-template-columns:1fr;grid-template-rows:34vh 1fr;border-left:5px solid #FFD400;overflow:hidden}
  .cth-product-detail-media{min-height:0;height:34vh}
  .cth-product-detail-content{padding:30px 20px 34px;overflow-y:auto}
  .cth-product-detail-content h3{font-size:44px}
  .cth-product-detail-close{width:54px;height:54px}
  .cth-product-detail-meta,.cth-product-detail-features,.cth-product-detail-actions{grid-template-columns:1fr}
  .cth-product-detail-meta span+span{padding-left:0;border-left:0;border-top:1px solid #e3e3de}
  .cth-product-detail-actions a,.cth-product-detail-actions button{width:100%}
}


/* v1.4.1 — product detail lives inside the catalogue popup */
.cth-catalogue-modal.is-product-view .cth-catalogue-shell{background:#fff}
.cth-product-detail-panel[hidden]{display:none!important}
.cth-product-detail-panel{background:#fff;color:#111;min-height:100%;padding:0}
.cth-product-back{width:100%;height:54px;border:0!important;border-bottom:1px solid #e6e6e1!important;border-radius:0!important;background:#fff!important;color:#111!important;padding:0 24px;display:flex;align-items:center;gap:10px;font:800 10px/1 Manrope,sans-serif;letter-spacing:.1em;cursor:pointer;text-align:left}
.cth-product-back:hover,.cth-product-back:focus{background:#FFD400!important;color:#111!important;box-shadow:none!important}
.cth-product-back svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}
.cth-product-detail-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);min-height:640px}
.cth-product-detail-gallery{background:#efefe9;min-width:0;border-right:1px solid #e6e6e1}
.cth-product-detail-main{position:relative;height:590px;overflow:hidden;background:#efefe9}
.cth-product-detail-main>img{width:100%;height:100%;display:block;object-fit:cover;transition:opacity .18s ease}
.cth-product-detail-main>img.is-switching{opacity:.35}
.cth-product-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:48px;height:48px;border:1px solid rgba(255,255,255,.7)!important;border-radius:0!important;background:rgba(0,0,0,.68)!important;color:#fff!important;display:grid;place-items:center;cursor:pointer}
.cth-product-gallery-arrow:hover,.cth-product-gallery-arrow:focus{background:#e71920!important;border-color:#e71920!important;box-shadow:none!important}
.cth-product-gallery-arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
.cth-product-gallery-prev{left:16px}.cth-product-gallery-next{right:16px}
.cth-product-gallery-dots{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 16px;background:#fff;border-top:1px solid #e6e6e1}
.cth-product-gallery-dot{width:30px;height:4px;border:0!important;border-radius:0!important;background:#d7d7d1!important;padding:0;cursor:pointer}
.cth-product-gallery-dot.is-active{background:#e71920!important}
.cth-product-detail-content{padding:56px 46px 42px;overflow:visible}
.cth-product-detail-content h3{font:400 58px/.95 'Bebas Neue',sans-serif;margin:0 0 12px;color:#111}
.cth-product-detail-price{display:flex;align-items:baseline;gap:10px;margin:0 0 22px;padding:0 0 18px;border-bottom:1px solid #e3e3de}
.cth-product-detail-price strong{font:400 42px/1 'Bebas Neue',sans-serif;color:#e71920}
.cth-product-detail-price span{font:700 11px/1.3 Manrope,sans-serif;color:#777;text-transform:uppercase;letter-spacing:.08em}
.cth-product-detail-badge{position:absolute;left:0;top:0;z-index:4;background:#e71920;color:#FFD400;padding:12px 16px;font:400 20px/1 'Bebas Neue',sans-serif;letter-spacing:.08em}
.cth-product-detail-actions{grid-template-columns:1fr 1fr}
.cth-product-detail-book{background:#FFD400!important;border-color:#FFD400!important}
@media(max-width:760px){
  .cth-product-back{height:48px;padding:0 16px}
  .cth-product-detail-layout{grid-template-columns:1fr;min-height:0}
  .cth-product-detail-gallery{border-right:0;border-bottom:1px solid #e6e6e1}
  .cth-product-detail-main{height:42vh;min-height:310px}
  .cth-product-detail-content{padding:28px 20px 34px}
  .cth-product-detail-content h3{font-size:44px}
  .cth-product-detail-price strong{font-size:36px}
  .cth-product-detail-actions{grid-template-columns:1fr}
  .cth-product-gallery-arrow{width:42px;height:42px}
}

/* Admin product gallery */


/* v1.4.3 — product gallery repair + no empty product-panel floor */
.cth-catalogue-modal.is-product-view .cth-catalogue-panel{
  height:auto!important;
  min-height:0!important;
  max-height:calc(100vh - 48px)!important;
  display:block!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:#fff!important;
}
.cth-catalogue-modal.is-product-view .cth-product-detail-panel{
  min-height:0!important;
  height:auto!important;
}
.cth-catalogue-modal.is-product-view .cth-product-detail-layout{
  min-height:0!important;
  height:auto!important;
  align-items:stretch!important;
}
.cth-catalogue-modal.is-product-view .cth-product-detail-gallery{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
}
.cth-catalogue-modal.is-product-view .cth-product-detail-main{
  height:620px!important;
  min-height:0!important;
  flex:0 0 auto!important;
}
.cth-catalogue-modal.is-product-view .cth-product-detail-panel.has-thumbnails .cth-product-detail-main{
  height:530px!important;
}
.cth-product-gallery-thumbs{
  height:90px;
  flex:0 0 90px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  overflow-x:auto;
  overflow-y:hidden;
  background:#fff;
  border-top:1px solid #e2e2dd;
  scrollbar-width:none;
}
.cth-product-gallery-thumbs::-webkit-scrollbar{display:none}
.cth-product-gallery-thumbs[hidden]{display:none!important}
.cth-product-gallery-thumb-button{
  flex:0 0 92px;
  width:92px;
  height:68px;
  padding:0!important;
  border:2px solid transparent!important;
  border-radius:0!important;
  background:#eee!important;
  cursor:pointer;
  overflow:hidden;
}
.cth-product-gallery-thumb-button:hover,
.cth-product-gallery-thumb-button:focus{
  border-color:#e71920!important;
  outline:none!important;
  box-shadow:none!important;
}
.cth-product-gallery-thumb-button.is-active{
  border-color:#FFD400!important;
}
.cth-product-gallery-thumb-button img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.cth-product-detail-content{
  min-height:620px!important;
  box-sizing:border-box!important;
}
.cth-product-detail-panel.has-thumbnails .cth-product-detail-content{
  min-height:620px!important;
}
@media(max-width:760px){
  .cth-catalogue-modal.is-product-view .cth-catalogue-panel{
    height:100dvh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
  }
  .cth-catalogue-modal.is-product-view .cth-product-detail-layout{
    display:block!important;
  }
  .cth-catalogue-modal.is-product-view .cth-product-detail-main,
  .cth-catalogue-modal.is-product-view .cth-product-detail-panel.has-thumbnails .cth-product-detail-main{
    height:42vh!important;
    min-height:300px!important;
  }
  .cth-product-gallery-thumbs{
    height:82px;
    flex-basis:82px;
    padding:8px 10px;
  }
  .cth-product-gallery-thumb-button{
    flex-basis:84px;
    width:84px;
    height:62px;
  }
  .cth-product-detail-content,
  .cth-product-detail-panel.has-thumbnails .cth-product-detail-content{
    min-height:0!important;
  }
}


/* v1.4.5 — consistent full-image product gallery */
.cth-catalogue-modal.is-product-view .cth-product-detail-gallery{
  background:#f1f1ed!important;
}
.cth-catalogue-modal.is-product-view .cth-product-detail-main,
.cth-catalogue-modal.is-product-view .cth-product-detail-panel.has-thumbnails .cth-product-detail-main{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:4 / 3!important;
  background:#f1f1ed!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.cth-catalogue-modal.is-product-view .cth-product-detail-main>img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
}
.cth-product-gallery-thumbs{
  min-height:90px!important;
  height:auto!important;
  padding:10px 12px!important;
  align-items:center!important;
  background:#fff!important;
}
.cth-product-gallery-thumb-button{
  flex:0 0 96px!important;
  width:96px!important;
  height:auto!important;
  aspect-ratio:4 / 3!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#f1f1ed!important;
}
.cth-product-gallery-thumb-button img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
}
@media(max-width:760px){
  .cth-catalogue-modal.is-product-view .cth-product-detail-main,
  .cth-catalogue-modal.is-product-view .cth-product-detail-panel.has-thumbnails .cth-product-detail-main{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:4 / 3!important;
  }
  .cth-product-gallery-thumbs{
    min-height:76px!important;
    height:auto!important;
    padding:8px 10px!important;
  }
  .cth-product-gallery-thumb-button{
    flex-basis:82px!important;
    width:82px!important;
    height:auto!important;
    aspect-ratio:4 / 3!important;
  }
}


/* v1.4.9 — preserve original centred modal; make inner catalogue grid scroll correctly */
.cth-catalogue-modal.is-open:not(.is-product-view) .cth-catalogue-inner{
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
}

.cth-catalogue-modal.is-open:not(.is-product-view) .cth-catalogue-head{
  min-height:0!important;
}

.cth-catalogue-modal.is-open:not(.is-product-view) .cth-catalogue-grid{
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain;
}

/* keep the exact existing centred desktop popup positioning */
@media (min-width:641px){
  .cth-catalogue-modal.is-open:not(.is-product-view) .cth-catalogue-panel{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    right:auto!important;
    bottom:auto!important;
    transform:translate(-50%,-50%)!important;
    width:min(1320px,calc(100vw - 48px))!important;
    height:min(820px,calc(100vh - 48px))!important;
    overflow:hidden!important;
  }
}

/* mobile keeps the existing full-screen design, with only products scrolling */
@media (max-width:640px){
  .cth-catalogue-modal.is-open:not(.is-product-view) .cth-catalogue-inner{
    height:100dvh!important;
  }
  .cth-catalogue-modal.is-open:not(.is-product-view) .cth-catalogue-grid{
    padding-bottom:max(28px,env(safe-area-inset-bottom))!important;
  }
}


/* v1.5.0 — tighter desktop info strip + clearer CTA treatment */
@media(min-width:901px){
  .cth-info-card{
    min-height:92px!important;
    padding:18px 30px!important;
  }
  .cth-info-card strong{
    font-size:29px!important;
    line-height:.96!important;
  }
  .cth-info-card>span:not(.cth-info-open){
    margin-top:6px!important;
    font-size:11px!important;
    line-height:1.3!important;
    color:rgba(255,255,255,.9)!important;
  }
  .cth-info-open{
    opacity:.72!important;
    right:24px!important;
  }
  .cth-info-card:hover .cth-info-open,
  .cth-info-card:focus-visible .cth-info-open{
    opacity:1!important;
  }
}


/* v1.6.0 — review badge CTA + review dashboard */
.cth-rating{appearance:none!important;font:inherit;text-align:left;cursor:pointer;position:relative}
.cth-rating-cta{margin-left:14px;padding-left:14px;border-left:1px solid #e5e5e5;display:inline-flex;align-items:center;gap:8px;font-size:9px;font-weight:800;letter-spacing:.08em;color:#e71920;white-space:nowrap}
.cth-rating-cta svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.cth-rating:hover,.cth-rating:focus-visible{background:#fff!important;color:#111!important;border-color:#FFD400!important;outline:none!important;box-shadow:none!important}
.cth-rating:hover .cth-rating-cta,.cth-rating:focus-visible .cth-rating-cta{color:#111!important}
@media(min-width:901px){.cth-rating{min-width:360px;justify-content:flex-start;padding:12px 18px}.cth-rating-copy{flex:1}}
@media(max-width:520px){.cth-rating-cta{margin-left:auto;padding-left:9px;font-size:8px}.cth-rating{padding-right:10px}}
.cth-review-modal{display:none;position:fixed;inset:0;z-index:1200000}.cth-review-modal.is-open{display:block}.cth-review-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}
.cth-review-modal-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1180px,calc(100vw - 48px));height:min(720px,calc(100vh - 48px));background:#fff;color:#111;display:grid;grid-template-columns:38% 62%;overflow:hidden;border-left:8px solid #FFD400}
.cth-review-modal-close{position:absolute;right:0;top:0;z-index:10;width:62px;height:62px;border:0!important;border-radius:0!important;background:#e71920!important;color:#fff!important;display:grid;place-items:center;cursor:pointer}.cth-review-modal-close:hover,.cth-review-modal-close:focus{background:#111!important;color:#fff!important;outline:none!important;box-shadow:none!important}.cth-review-modal-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
.cth-review-summary{padding:54px 42px 38px;background:#111;color:#fff;display:flex;flex-direction:column;overflow:auto}.cth-review-summary-kicker{font-size:10px;font-weight:800;letter-spacing:.18em;color:#e71920;margin-bottom:15px}.cth-review-summary h3{font-family:'Bebas Neue',sans-serif;font-size:58px;line-height:.94;margin:0 0 26px;font-weight:400;color:#fff}.cth-review-score-row{display:flex;align-items:center;gap:18px;padding:22px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.cth-review-score-row>strong{font-family:'Bebas Neue',sans-serif;font-size:70px;line-height:.85;color:#FFD400;font-weight:400}.cth-review-score-row>div{display:flex;flex-direction:column;gap:7px}.cth-review-score-row small{color:#aaa;font-size:11px}.cth-review-stars{display:flex;gap:3px;color:#ffb400}.cth-review-stars svg{width:18px;height:18px;fill:currentColor}.cth-review-summary>p{font-size:13px;line-height:1.65;color:#d0d0d0;margin:22px 0}.cth-review-bars{display:flex;flex-direction:column;gap:9px}.cth-review-bar{display:grid;grid-template-columns:14px 1fr 22px;align-items:center;gap:9px;font-size:10px;color:#c6c6c6}.cth-review-bar>div{height:5px;background:#2b2b2b}.cth-review-bar i{display:block;height:100%;background:#FFD400}.cth-review-bar small{text-align:right;color:#888}.cth-review-google-cta{margin-top:auto;padding:16px 18px;border:1px solid #FFD400!important;color:#fff!important;text-decoration:none!important;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:10px;font-weight:800;letter-spacing:.08em;background:transparent!important}.cth-review-google-cta:hover,.cth-review-google-cta:focus{background:#FFD400!important;color:#111!important;outline:none!important;box-shadow:none!important}.cth-review-google-cta svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}
.cth-review-feed{background:#f5f5f2;padding:48px 34px 34px;overflow:hidden;display:flex;flex-direction:column}.cth-review-feed-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 2px 18px;border-bottom:1px solid #d8d8d3}.cth-review-feed-head span{font-size:10px;font-weight:800;letter-spacing:.16em;color:#e71920}.cth-review-feed-head b{font-size:9px;letter-spacing:.08em;color:#555}.cth-review-cards{overflow-y:auto;padding:18px 8px 10px 2px;display:grid;grid-template-columns:1fr 1fr;gap:14px;scrollbar-width:thin;scrollbar-color:#e71920 #ddd}.cth-review-cards::-webkit-scrollbar{width:6px}.cth-review-cards::-webkit-scrollbar-thumb{background:#e71920}.cth-review-cards::-webkit-scrollbar-track{background:#ddd}.cth-review-card{background:#fff;border:1px solid #deded9;border-bottom:3px solid #e71920;padding:20px;min-height:155px;display:flex;flex-direction:column;gap:16px}.cth-review-card-top{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px}.cth-review-avatar{width:42px;height:42px;background:#FFD400;display:grid;place-items:center;font-weight:900;font-size:12px}.cth-review-card-top>div{min-width:0;display:flex;flex-direction:column;gap:3px}.cth-review-card-top strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cth-review-card-top small{font-size:9px;color:#777}.cth-review-mini-stars{color:#ffb400;font-size:11px;white-space:nowrap}.cth-review-card p{font-size:12px;line-height:1.6;color:#333;margin:0}.cth-review-empty{grid-column:1/-1;background:#fff;border:1px dashed #ccc;padding:36px;text-align:center;display:flex;flex-direction:column;gap:8px}.cth-review-empty strong{font-family:'Bebas Neue',sans-serif;font-size:30px}.cth-review-empty span{font-size:12px;color:#666}
@media(max-width:820px){.cth-review-modal-panel{grid-template-columns:42% 58%;width:calc(100vw - 24px)}.cth-review-summary{padding:44px 28px 30px}.cth-review-summary h3{font-size:48px}.cth-review-cards{grid-template-columns:1fr}}
@media(max-width:640px){.cth-review-modal-panel{inset:0;left:0;top:0;transform:none;width:100%;height:100dvh;grid-template-columns:1fr;grid-template-rows:auto 1fr;border-left:0;border-top:6px solid #FFD400}.cth-review-summary{padding:26px 20px 24px;max-height:44vh;overflow:auto}.cth-review-summary h3{font-size:42px;margin-bottom:14px}.cth-review-score-row{padding:14px 0}.cth-review-score-row>strong{font-size:54px}.cth-review-summary>p{margin:14px 0;font-size:12px}.cth-review-bars{display:none}.cth-review-google-cta{margin-top:14px}.cth-review-feed{padding:24px 16px 20px}.cth-review-feed-head{padding-right:48px}.cth-review-cards{grid-template-columns:1fr;padding-top:14px}.cth-review-modal-close{width:54px;height:54px}}

/* v1.6.1 public review snapshot */
.cth-review-source-only{
  font-size:9px!important;
  letter-spacing:1.5px!important;
  color:#e71920!important;
  white-space:nowrap;
}


/* v1.6.2 — review dashboard layout repair */
@media (min-width:821px){
  .cth-review-modal-panel{
    width:min(1220px,calc(100vw - 56px))!important;
    height:min(760px,calc(100vh - 56px))!important;
    grid-template-columns:38% minmax(0,62%)!important;
    overflow:hidden!important;
  }
  .cth-review-summary{
    min-width:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .cth-review-feed{
    min-width:0!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:48px 36px 34px!important;
  }
  .cth-review-feed-head{
    flex:0 0 auto!important;
    padding-right:58px!important;
  }
  .cth-review-cards{
    overflow:visible!important;
    padding:18px 2px 18px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
    align-items:start!important;
    gap:16px!important;
  }
  .cth-review-card{
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    align-self:start!important;
    overflow:visible!important;
    padding:20px 20px 22px!important;
  }
  .cth-review-card-top{
    grid-template-columns:42px minmax(0,1fr) auto!important;
  }
  .cth-review-card p{
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
}

@media (max-width:820px){
  .cth-review-modal-panel{
    width:calc(100vw - 20px)!important;
    height:calc(100dvh - 20px)!important;
    max-height:none!important;
    grid-template-columns:40% minmax(0,60%)!important;
  }
  .cth-review-feed{
    min-width:0!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .cth-review-cards{
    overflow:visible!important;
    grid-template-columns:1fr!important;
    grid-auto-rows:auto!important;
    align-items:start!important;
  }
  .cth-review-card{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
}

@media (max-width:640px){
  .cth-review-modal-panel{
    inset:0!important;
    width:100%!important;
    height:100dvh!important;
    display:block!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    border-top:6px solid #FFD400!important;
  }
  .cth-review-summary{
    max-height:none!important;
    height:auto!important;
    overflow:visible!important;
    padding:26px 20px 24px!important;
  }
  .cth-review-summary h3{
    padding-right:52px!important;
  }
  .cth-review-feed{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    padding:24px 16px 28px!important;
  }
  .cth-review-feed-head{
    padding-right:0!important;
    gap:12px!important;
  }
  .cth-review-feed-head b{
    flex:0 0 auto!important;
  }
  .cth-review-cards{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding:14px 0 0!important;
    overflow:visible!important;
  }
  .cth-review-card{
    width:100%!important;
    box-sizing:border-box!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    padding:18px!important;
    gap:14px!important;
    overflow:visible!important;
  }
  .cth-review-card-top{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    gap:8px 10px!important;
  }
  .cth-review-card-top>div{
    min-width:0!important;
  }
  .cth-review-mini-stars{
    grid-column:2!important;
    justify-self:start!important;
    white-space:normal!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }
  .cth-review-card p{
    font-size:12px!important;
    line-height:1.55!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .cth-review-modal-close{
    position:fixed!important;
    right:0!important;
    top:0!important;
  }
}
