/* Elyxet-connected inner pages extend the original light Your Last Watch design. */
.ylw-page [hidden] { display: none !important; }
.ylw-page .mobile-nav-search { display: none; }
.ylw-page .round-action { text-decoration: none; flex: 0 0 auto; }
.product-card h3 a { text-decoration: none; }
.product-photo-link { display: block; overflow: hidden; }
.product-photo-link img { width: 100%; height: 100%; display: block; object-fit: contain; mix-blend-mode: multiply; }
.stock-label { color: #b94b52; font-size: 12px; margin: 7px 2px 12px; font-weight: 650; }
.stock-label.is-stock { color: #147653; }
.stock-label.is-low { color: #9a6700; }
.stock-label.is-out { color: #b94b52; }
.product-card .button:disabled, .product-buy-actions .button:disabled { opacity: .48; cursor: not-allowed; }
.inner-main { min-height: 55vh; background: radial-gradient(circle at 4% 12%, #e6f1ff, transparent 36%), #f8fbff; }
.inner-shell { padding-block: 29px 70px; }
.breadcrumbs { display: flex; align-items: center; gap: 12px; font-size: 12px; color: #66738e; }
.breadcrumbs a { color: #344cf0; text-decoration: none; }
.inner-heading { margin: 25px 0 28px; }
.inner-heading h1, .product-information h1, .auth-panel h1 { margin: 9px 0 9px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(36px, 4.8vw, 58px); letter-spacing: -.04em; line-height: 1.07; }
.inner-heading p { color: #687590; margin: 0; }
.catalog-tools { display: flex; gap: 12px; align-items: end; margin-bottom: 27px; }
.catalog-tools label { display: grid; flex: 1; max-width: 530px; gap: 8px; font-size: 12px; font-weight: 700; }
.ylw-page .catalog-tools input, .ylw-page .stack-form input, .ylw-page .stack-form select, .ylw-page .form-grid input, .ylw-page .form-grid select, .ylw-page .product-information select, .ylw-page #product-quantity, .ylw-page textarea, .ylw-page #bkash-fields input { width: 100%; min-height: 44px; border: 1px solid #cbd8eb; border-radius: 9px; background: white; color: #172342; padding: 10px 13px; font: inherit; font-size: 14px; }
.ylw-page :is(input, select, textarea, button, a):focus-visible { outline: 3px solid #8192ff; outline-offset: 2px; }
.ylw-page textarea { min-height: 100px; resize: vertical; }
.ylw-page label { color: #2b3c5e; }
.catalog-tools .button { min-height: 44px; }
.state-message { padding: 24px; grid-column: 1/-1; border: 1px solid #cbd8ed; border-radius: 11px; background: white; color: #596982; }
.pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding: 24px 0; }
.pagination button { border: 1px solid #bac9eb; border-radius: 7px; padding: 8px 14px; background: white; cursor: pointer; }
.pagination button[aria-current="page"] { color: white; background: #3547ff; }
.two-column { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(270px, .8fr); gap: 24px; align-items: start; }
.panel { min-width: 0; padding: clamp(18px, 2.6vw, 32px); border: 1px solid #d8e3f3; border-radius: 16px; background: #fff; box-shadow: 0 12px 30px rgba(30,57,109,.055); }
.panel h2 { font-family: Georgia, 'Times New Roman', serif; font-size: 25px; margin: 0 0 20px; }
.basket-line { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 12px 18px; align-items: center; padding: 21px 0; border-bottom: 1px solid #e2e9f4; }
.basket-line:first-child { padding-top: 0; }
.basket-line:last-child { border-bottom: 0; }
.basket-line small, .summary-row small { display: block; font-size: 11px; margin-top: 6px; color: #65748e; }
.quantity-controls { display: flex; align-items: center; border: 1px solid #cbd7eb; border-radius: 8px; }
.quantity-controls button { width: 32px; height: 35px; border: 0; background: #f4f7fd; cursor: pointer; }
.quantity-controls span { min-width: 28px; text-align: center; }
.text-button { display: inline-block; margin: 8px; border: 0; background: none; color: #344cf0; font-size: 13px; cursor: pointer; }
.text-button.danger { color: #b83c53; }
.summary-row { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid #e6edf7; font-size: 14px; }
.summary-row strong { text-align: right; white-space: nowrap; }
.summary-row.total { font-size: 20px; font-weight: 800; }
.order-summary p { color: #66748b; font-size: 12px; }
.full-width { width: 100%; margin-top: 20px; }
.text-link { display: inline-block; margin-top: 15px; color: #344cf0 !important; font-size: 12px; }
.disabled-link { pointer-events: none; opacity: .4; }
.product-layout { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr); align-items: start; gap: clamp(25px, 4vw, 58px); padding-top: 25px; }
.gallery-main { width: 100%; overflow: hidden; aspect-ratio: 1/1; display: grid; place-items: center; padding: 15px; border: 1px solid #e0e9f8; border-radius: 16px; background: white; cursor: zoom-in; }
.gallery-main img { width: 100%; height: 100%; display: block; object-fit: contain; }
.gallery-thumbnails { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.gallery-thumbnails button { width: 82px; height: 82px; border: 1px solid #d2ddf0; border-radius: 9px; background: white; overflow: hidden; padding: 4px; cursor: pointer; }
.gallery-thumbnails button.active { border: 2px solid #3547ff; }
.gallery-thumbnails img { width: 100%; height: 100%; object-fit: contain; }
.gallery-hint { font-size: 11px; color: #6f7a90; }
.product-information { padding-top: 15px; }
.product-information h1 { margin-bottom: 18px; }
.product-detail-description { color: #56647f; font-size: 15px; line-height: 1.7; }
.detail-price { font-size: clamp(26px, 3vw, 34px); font-weight: 800; padding-top: 17px; }
.divider-line { height: 1px; background: #dce6f5; margin: 23px 0; }
.field-label { display: block; margin: 17px 0 9px; font-size: 13px; font-weight: 700; }
#variant-options { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.option-pill { border: 1px solid #c6d7ed; background: white; color: #3b4b6b; border-radius: 6px; padding: 7px 10px; font-size: 11px; }
#product-quantity { max-width: 110px; }
.product-buy-actions { display: flex; gap: 12px; margin-top: 24px; }
.product-buy-actions .button { flex: 1; }
.detail-help { color: #65738d; font-size: 12px; line-height: 1.6; }
.detail-help a { color: #344cf0; }
.detail-description { margin-top: 34px; padding-top: 15px; border-top: 1px solid #dfe7f4; line-height: 1.7; }
.detail-description h2 { font-family: Georgia, 'Times New Roman', serif; }
.zoom-overlay { position: fixed; z-index: 120; inset: 0; background: rgba(5,12,31,.94); display: grid; place-items: center; padding: 55px 15px 20px; cursor: zoom-out; }
.zoom-overlay img { max-width: 96%; max-height: 92vh; object-fit: contain; background: #fff; border-radius: 9px; }
.zoom-close { position: absolute; top: 10px; right: 19px; color: white; border: 0; font-size: 39px; background: transparent; cursor: pointer; }
.zoom-open { overflow: hidden; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 17px 14px; }
.form-grid label, .stack-form label { display: grid; gap: 7px; font-weight: 650; font-size: 13px; }
.form-grid .wide { grid-column: 1/-1; }
#checkout-form .button, #shipping-form .button, #payment-form .button { margin-top: 25px; }
.choice { display: flex; align-items: center; gap: 15px; padding: 16px; margin: 12px 0; border: 1px solid #d5dfee; border-radius: 10px; cursor: pointer; }
.choice input { accent-color: #344cf0; flex: 0 0 auto; }
.choice span { flex: 1; }
.choice small { display: block; margin-top: 4px; color: #62718c; }
.choice strong { margin-left: auto; white-space: nowrap; }
#bkash-fields { padding: 14px; border: 1px solid #d9e2f3; border-radius: 10px; background: #f8fbff; }
#bkash-fields label { display: block; margin: 10px 0; font-size: 12px; }
#bkash-fields p { color: #65738b; font-size: 12px; }
#payment-form > label:not(.choice) { display: grid; gap: 8px; margin-top: 15px; font-size: 12px; }
.success-icon { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: #e1f8e9; color: #13734d; font-size: 32px; }
.auth-panel { max-width: 490px; margin: 22px auto 0; }
.auth-panel h1 { font-size: 40px; }
.stack-form { display: grid; gap: 17px; margin-top: 22px; }
.stack-form .button { width: 100%; margin-top: 6px; }
.auth-panel p { color: #5e6d84; font-size: 13px; line-height: 1.7; }
.auth-panel a { color: #2b49ed; }
.account-layout { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 20px; align-items: start; }
.account-nav { display: grid; padding: 17px; gap: 5px; }
.account-nav a { text-decoration: none; padding: 13px 12px; border-radius: 8px; color: #243355; font-size: 13px; }
.account-nav a:hover { background: #eff4ff; color: #2946e4; }
.account-nav .text-button { text-align: left; }
.address-cards { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; margin-bottom: 24px; }
.address-card { border: 1px solid #dbe5f3; border-radius: 10px; padding: 17px; }
.address-card p { color: #61718b; font-size: 13px; line-height: 1.7; }
#address-editor { margin-top: 22px; }
.inline-check { display: flex !important; align-items: center; gap: 10px; }
.inline-check input { width: auto !important; min-height: auto !important; }
.order-link { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid #dfe6f3; padding: 19px 0; text-decoration: none; font-size: 13px; }
.order-link span { color: #62718c; }
@media (max-width: 900px) {
  .header-inner { grid-template-columns: 1fr auto auto; gap: 10px; position: relative; }
  .header-actions { grid-column: 2; grid-row: 1; display: flex; padding-bottom: 0; gap: 7px; }
  .header-inner .search-control { display: none; }
  .menu-toggle { grid-column: 3; grid-row: 1; justify-self: end; }
  .primary-nav { left: 0; right: 0; top: 100%; z-index: 51; padding: 12px 18px 20px; border: 1px solid #e0e8f5; border-radius: 0 0 14px 14px; }
  .ylw-page .mobile-nav-search { display: flex; width: 100%; min-height: 43px; margin-top: 10px; }
  .round-action { width: 38px; height: 38px; }
  .footer-grid { grid-template-columns: 1.2fr .8fr 1fr; }
  .product-layout { gap: 22px; }
}
@media (max-width: 680px) {
  .page-shell { width: min(100% - 28px, 560px); }
  .inner-shell { padding: 20px 0 50px; }
  .inner-heading h1 { font-size: 37px; }
  .two-column, .product-layout, .account-layout { grid-template-columns: 1fr; }
  .gallery-main { aspect-ratio: 1.18; }
  .product-information { padding-top: 0; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .wide { grid-column: auto; }
  .account-nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .address-cards { grid-template-columns: 1fr; }
  .basket-line { grid-template-columns: minmax(0, 1fr) auto; }
  .basket-line > strong { grid-column: 1; }
  .basket-line > .danger { grid-column: 2; grid-row: 2; }
  .catalog-tools { align-items: end; }
  .product-buy-actions { flex-wrap: wrap; }
  .product-buy-actions .button { min-width: 135px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 380px) {
 .site-logo img { width: 83px; }
 .round-action { width: 34px; height: 34px; }
 .menu-toggle { width: 38px; height: 38px; }
 .product-actions { grid-template-columns: 1fr; }
 .catalog-tools { flex-wrap: wrap; }
}

/* Your Last Watch v3: checkout, product detail, editorial pages, and active quantity controls. */
.quantity-controls output { display: grid; min-width: 30px; place-items: center; padding: 0 5px; font-size: 13px; font-weight: 700; color: #243355; }
.quantity-controls button:disabled { cursor: not-allowed; opacity: .38; }
.cart-line { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px 12px; padding: 16px 0; border-bottom: 1px solid #e1e8f2; }
.cart-line > div:first-child { min-width: 0; }
.cart-line strong, .cart-line small { display: block; }
.cart-line small { font-size: 11px; color: #65738d; margin-top: 5px; }
.cart-line > strong { color: #1c2d4b; }
.cart-line [data-remove] { justify-self: end; background: transparent; border: none; color: #a84152; cursor: pointer; }
.checkout-line { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; border-bottom: 1px solid #e1e8f2; align-items: center; padding: 14px 0; }
.checkout-line > div { min-width: 0; }
.checkout-line span { display: block; font-size: 13px; font-weight: 680; }
.checkout-line small { display: block; margin: 4px 0 9px; color: #687793; font-size: 11px; }
.checkout-line .quantity-controls { width: max-content; }
.checkout-line > strong { white-space: nowrap; font-size: 13px; }
.checkout-section { border-top: 1px solid #e1e7f2; padding-top: 28px; margin-top: 28px; }
.checkout-section h2 { margin-bottom: 9px; }
.checkout-explain, .quiet-hint { color: #66748d; font-size: 13px; line-height: 1.7; }
.checkout-notes { display: grid; margin-top: 19px; gap: 7px; font-weight: 650; font-size: 13px; }
.checkout-status { min-height: 21px; color: #126d4a; font-size: 12px; line-height: 1.6; }
.checkout-status.error { color: #b83c53; }
#place-order { padding-block: 16px; font-size: 15px; }
#place-order:disabled { cursor: progress; opacity: .65; }
#bkash-fields label { display: grid; gap: 8px; }
#checkout-summary { position: sticky; top: 90px; }
#shipping-choices .choice { margin-bottom: 10px; }
#shipping-choices .choice input { width: auto; }
.gallery-main img { transform: scale(1); transform-origin: var(--zoom-x,50%) var(--zoom-y,50%); transition: transform .24s ease-out; }
@media (hover:hover) and (pointer:fine) { .gallery-main:hover img { transform: scale(1.85); } }
.gallery-main:active img { transition-duration: .06s; }
.related-products { border-top: 1px solid #dde7f6; margin-top: clamp(45px,6vw,85px); padding-top: clamp(32px,5vw,58px); }
.related-products .section-heading-row { margin-bottom: 22px; }
.related-products .product-grid { margin-bottom: 15px; }
.content-page { padding: clamp(12px,3vw,40px) 0 60px; }
.content-page h1 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(39px,5vw,64px); line-height: 1.06; letter-spacing: -.04em; margin: 13px 0 20px; }
.content-lead { max-width: 740px; font-size: clamp(17px,2vw,20px); line-height: 1.75; color: #5e6d85; margin-bottom: 40px; }
.content-split { display: grid; grid-template-columns: 1fr .85fr; align-items: center; gap: clamp(25px,4vw,60px); border-radius: 19px; overflow: hidden; border: 1px solid #dfe8f4; background: #fff; }
.content-split > div { padding: clamp(24px,4vw,60px); }
.content-split h2, .contact-social h2 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(25px,3vw,37px); line-height: 1.15; }
.content-split p { color: #5a6984; line-height: 1.8; margin-bottom: 23px; }
.content-split img { display: block; width: 100%; height: 100%; max-height: 430px; min-height: 310px; object-fit: cover; }
.content-info-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 20px; }
.content-info-grid > div, .contact-card { border: 1px solid #dce6f4; border-radius: 14px; background: #fff; padding: clamp(20px,2.8vw,30px); }
.content-info-grid h3 { font-size: 17px; margin: 0 0 10px; }
.content-info-grid p { line-height: 1.7; color: #60708b; margin: 0; font-size: 13px; }
.contact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.contact-card { display: grid; align-content: center; min-height: 160px; gap: 9px; color: #1b2b48; text-decoration: none; transition: transform .18s ease,box-shadow .18s ease; }
a.contact-card:hover { transform: translateY(-3px); box-shadow: 0 12px 25px rgba(30,57,109,.07); }
.contact-card span { font-size: 12px; letter-spacing: .05em; text-transform: uppercase; color: #405bd5; font-weight: 700; }
.contact-card strong { overflow-wrap: anywhere; font-size: clamp(17px,2vw,22px); }
.contact-card small { color: #6a7993; font-size: 12px; }
.contact-social { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 35px; align-items: center; }
.contact-social h2 { flex-basis: 100%; margin: 0 0 8px; }
.contact-social a { padding: 12px 16px; border: 1px solid #d6e2f4; background: #fff; border-radius: 9px; color: #2c4cbd; text-decoration: none; }
@media (max-width: 900px) { #checkout-summary { position: static; } }
@media (max-width: 680px) {
  .content-split, .content-info-grid, .contact-grid { grid-template-columns: 1fr; }
  .content-split img { min-height: 220px; max-height: 280px; }
  .cart-line { grid-template-columns: 1fr auto; }
  .checkout-layout { display: flex; flex-direction: column; }
  .checkout-layout > * { width: 100%; }
  .checkout-line .quantity-controls button { min-width: 36px; min-height: 36px; }
  .related-products .section-heading-row { flex-wrap: wrap; gap: 10px; }
}
