/* R48 Runtime Hotfix 1.0.4 — commerce, forms, account and contact polish */

/* -------------------------
   Shared form language
   ------------------------- */
.woocommerce-checkout form.checkout input.input-text,
.woocommerce-checkout form.checkout textarea,
.woocommerce-account .woocommerce input.input-text,
.woocommerce-account .woocommerce textarea,
.woocommerce-account .woocommerce select,
.r48-form-grid input:not([type="checkbox"]):not([type="radio"]),
.r48-form-grid select,
.r48-form-grid textarea{
  width:100%;box-sizing:border-box;border:1px solid #aaa39a!important;border-radius:0!important;
  background:#fff!important;color:#111!important;min-height:50px;padding:11px 14px!important;
  font:600 15px/1.35 var(--r48-body);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease
}
.woocommerce-checkout form.checkout textarea,
.woocommerce-account .woocommerce textarea,
.r48-form-grid textarea{min-height:150px!important;resize:vertical}
.woocommerce-checkout form.checkout input.input-text:focus,
.woocommerce-checkout form.checkout textarea:focus,
.woocommerce-account .woocommerce input.input-text:focus,
.woocommerce-account .woocommerce textarea:focus,
.woocommerce-account .woocommerce select:focus,
.r48-form-grid input:focus,
.r48-form-grid select:focus,
.r48-form-grid textarea:focus{
  outline:0!important;border-color:#111!important;box-shadow:0 0 0 3px var(--r48-yellow)!important
}
.woocommerce-checkout form.checkout label,
.woocommerce-account .woocommerce label,
.r48-form-grid .r48-field>label{
  display:block;margin:0 0 7px;font-family:var(--r48-display);font-weight:900;text-transform:uppercase;letter-spacing:.01em;color:#111
}
.woocommerce-checkout .select2-container .select2-selection--single{height:50px!important;border:1px solid #aaa39a!important;border-radius:0!important;background:#fff!important}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered{line-height:48px!important;padding-left:14px!important;color:#111!important}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow{height:48px!important}
.woocommerce-checkout #order_comments{min-height:155px!important;width:100%!important}
.woocommerce-checkout .woocommerce-billing-fields>h3,
.woocommerce-checkout .woocommerce-additional-fields>h3{margin:0 0 22px;font-family:var(--r48-display);font-size:24px;font-weight:900;text-transform:uppercase;border-bottom:4px solid var(--r48-yellow);padding-bottom:10px}

/* -------------------------
   Checkout notices + Czech UI polish
   ------------------------- */
.woocommerce-checkout .woocommerce-form-coupon-toggle{margin:0 0 30px}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  margin:0!important;padding:15px 18px!important;border:0!important;border-left:6px solid var(--r48-yellow)!important;
  background:#fff!important;color:#111!important;box-shadow:0 1px 0 rgba(0,0,0,.06)
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-error::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-notice::before,
.woocommerce-checkout #payment .woocommerce-info::before,
.woocommerce-checkout #payment .woocommerce-error::before{display:none!important;content:none!important}
.woocommerce-checkout .woocommerce-form-coupon-toggle a{color:#111!important;font-weight:900;text-decoration:underline;text-underline-offset:3px}
.woocommerce-checkout form.checkout_coupon{
  margin:-18px 0 30px!important;padding:20px!important;border:1px solid #cec7bb!important;border-top:4px solid var(--r48-yellow)!important;border-radius:0!important;background:#fff!important
}
.woocommerce-checkout #order_review{border-top:6px solid var(--r48-yellow)!important;box-shadow:7px 7px 0 rgba(17,17,17,.08)}
.woocommerce-checkout #payment .woocommerce-info,
.woocommerce-checkout #payment .woocommerce-error,
.woocommerce-checkout #payment .woocommerce-notice{
  margin:0!important;padding:16px 18px!important;border:0!important;border-left:5px solid var(--r48-yellow)!important;background:#fff!important;color:#111!important;line-height:1.65
}
.woocommerce-checkout .woocommerce-privacy-policy-text{font-size:14px;line-height:1.65;color:#292929}
.woocommerce-checkout .woocommerce-privacy-policy-text a{color:#111!important;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.woocommerce-checkout #place_order{font-size:16px!important;letter-spacing:.01em!important}

/* -------------------------
   Cart / account recommendations
   ------------------------- */
.woocommerce-cart .r48-cart-recommendations{
  grid-column:1/-1;margin-top:52px;padding-top:34px;border-top:1px solid #cfc8bd;min-width:0
}
.r48-recommendations .r48-rowtitle{align-items:flex-end;margin-bottom:22px}
.r48-recommendations .r48-rowtitle h2{margin:0}
.r48-recommendations .r48-product-card{height:100%}

/* -------------------------
   My Account — stronger R48 identity
   ------------------------- */
.woocommerce-account .r48-wp-content>.woocommerce{position:relative}
.woocommerce-account .woocommerce-MyAccount-navigation{
  background:#111!important;border:1px solid #111!important;padding:12px!important;box-shadow:6px 6px 0 var(--r48-yellow)
}
.woocommerce-account .woocommerce-MyAccount-navigation a{
  color:#fff!important;border-bottom:1px solid #353535!important;padding:13px 12px!important;font-family:var(--r48-display);font-size:17px;text-transform:uppercase;letter-spacing:.01em
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{
  background:var(--r48-yellow)!important;color:#111!important;border-bottom-color:var(--r48-yellow)!important
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible{background:#fff!important;color:#111!important}
.woocommerce-account .woocommerce-MyAccount-content{
  border:1px solid #cec7bb!important;border-top:6px solid var(--r48-yellow)!important;padding:32px!important;
  box-shadow:8px 8px 0 rgba(17,17,17,.08);font-size:16px;line-height:1.65
}
.woocommerce-account .woocommerce-MyAccount-content p:first-child{font-size:18px;margin-top:0}
.woocommerce-account .woocommerce-MyAccount-content strong{font-weight:900}
.woocommerce-account .woocommerce-MyAccount-content .button{
  background:#111!important;color:#fff!important;border:0!important;border-radius:0!important;font-family:var(--r48-display)!important;text-transform:uppercase!important;font-weight:900!important
}
.woocommerce-account .r48-account-recommendations{grid-column:1/-1;margin-top:34px;padding-top:34px;border-top:1px solid #cfc8bd;min-width:0}
.woocommerce-account .woocommerce-MyAccount-navigation{order:1}
.woocommerce-account .woocommerce-MyAccount-content{order:2}
.woocommerce-account .r48-account-recommendations{order:3}

/* -------------------------
   Contact — stronger R48 composition
   ------------------------- */
.r48-contact-types{gap:14px!important;margin-bottom:34px!important}
.r48-contact-type{
  position:relative;overflow:hidden;background:#111!important;color:#fff!important;border:1px solid #111!important;border-top:6px solid var(--r48-yellow)!important;
  min-height:116px;padding:18px 20px!important;box-shadow:5px 5px 0 rgba(17,17,17,.12);transition:transform .15s ease,box-shadow .15s ease
}
.r48-contact-type:hover{transform:translateY(-2px);box-shadow:7px 7px 0 var(--r48-yellow)}
.r48-contact-type .r48-contact-index{color:var(--r48-yellow)!important;font-family:var(--r48-display);font-weight:900;font-size:34px;line-height:1}
.r48-contact-type strong{font-family:var(--r48-display);font-size:22px;text-transform:uppercase;letter-spacing:.01em}
.r48-contact-grid{gap:34px!important;align-items:start!important}
.r48-contact-card{
  position:sticky;top:128px;background:#111!important;color:#fff!important;border:0!important;border-top:7px solid var(--r48-yellow)!important;
  padding:30px!important;box-shadow:8px 8px 0 rgba(17,17,17,.12)
}
.r48-contact-card .r48-eyebrow{color:var(--r48-yellow)!important}
.r48-contact-card h3{margin:8px 0 16px!important;color:#fff!important;font-family:var(--r48-display);font-size:34px;text-transform:uppercase}
.r48-contact-card a{color:var(--r48-yellow)!important;font-weight:900}
.r48-form-grid{
  background:#fff;border:1px solid #cfc8bd;border-top:7px solid var(--r48-yellow);padding:28px!important;box-shadow:8px 8px 0 rgba(17,17,17,.12)
}
.r48-form-grid .r48-field{margin:0!important}
.r48-form-grid .r48-form-privacy{margin:0 0 16px!important;color:#5c554d!important;line-height:1.55}
.r48-form-grid button[type="submit"]{
  width:100%;min-height:54px;background:#111!important;color:#fff!important;border:0!important;border-radius:0!important;font-family:var(--r48-display)!important;font-size:17px!important;font-weight:900!important;text-transform:uppercase!important
}
.r48-form-grid button[type="submit"]:hover,.r48-form-grid button[type="submit"]:focus-visible{background:var(--r48-yellow)!important;color:#111!important}

@media(min-width:861px){
  .woocommerce-account .woocommerce-MyAccount-navigation{grid-column:1;grid-row:1}
  .woocommerce-account .woocommerce-MyAccount-content{grid-column:2;grid-row:1}
  .woocommerce-account .r48-account-recommendations{grid-row:2}
}
@media(max-width:860px){
  .r48-contact-card{position:static}
  .woocommerce-account .r48-account-recommendations,
  .woocommerce-cart .r48-cart-recommendations{grid-column:1!important;margin-top:28px}
  .woocommerce-account .woocommerce-MyAccount-content{padding:24px!important}
}
@media(max-width:560px){
  .r48-form-grid{padding:20px!important;box-shadow:5px 5px 0 rgba(17,17,17,.12)}
  .r48-contact-type{min-height:96px}
  .r48-recommendations .r48-rowtitle{align-items:flex-start}
}

/* Empty cart: clear R48 calls to action, followed by the same recommendations as a full cart. */
.woocommerce-cart .r48-empty-cart-layout{grid-column:1/-1;min-width:0}
.woocommerce-cart .r48-wp-content>.woocommerce:has(.cart-empty){display:block!important}
.woocommerce-cart .r48-wp-content>.woocommerce:has(.cart-empty)>.woocommerce-cart-form{width:100%;min-width:0}
.woocommerce-cart .r48-empty-cart-actions{display:flex;align-items:stretch;gap:12px;max-width:780px;margin:22px 0 0}
.woocommerce-cart .r48-empty-cart-actions .r48-btn{display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s,color .16s}
.woocommerce-cart .r48-empty-cart-actions .r48-btn:hover,
.woocommerce-cart .r48-empty-cart-actions .r48-btn:focus-visible{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--r48-ink)}
.woocommerce-cart .r48-empty-cart-shop{flex:2;min-height:72px;padding:12px 24px;font-size:22px}
.woocommerce-cart .r48-empty-cart-tickets{flex:1;min-height:58px;padding:12px 18px;font-size:17px}
.woocommerce-cart .r48-cart-recommendations{margin-top:44px}

@media(max-width:560px){
  .woocommerce-cart .r48-empty-cart-actions{flex-direction:column;gap:10px;max-width:none}
  .woocommerce-cart .r48-empty-cart-shop{min-height:66px;font-size:20px}
  .woocommerce-cart .r48-empty-cart-tickets{min-height:54px}
  .woocommerce-cart .r48-cart-recommendations{margin-top:34px}
}
