:root {
  --theme-btn-text: #ffffff;
  --theme-btn-gradient: linear-gradient(180deg, #e8894f 0%, #da743b 42%, #c46530 78%, #b85a2a 100%);
  --theme-btn-gradient-hover: linear-gradient(180deg, #f0a06a 0%, #e8894f 28%, #da743b 62%, #c46530 100%);
  --theme-btn-border: rgba(184, 90, 42, 0.68);
  --theme-btn-shadow: 0 4px 16px rgba(218, 116, 59, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.22);
  --theme-btn-shadow-hover: 0 8px 24px rgba(218, 116, 59, 0.36), inset 0 1px 0 rgba(255, 255, 255, 0.28);
  --theme-btn-focus-ring: rgba(218, 116, 59, 0.4);
}

/* Dikey (tall) okul logosu — oran bozulmasın */
main.home .logo {
  width: auto;
  max-width: 180px;
  margin: 0 auto;
  text-align: center;
}

main.home .logo img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 168px;
  margin: 0 auto;
  object-fit: contain;
}

main.home .container-fluid.orange-bg,
main.home .orange-bg.container-xxl,
main.home .orange-bg.container-xl,
main.home .orange-bg.container-lg,
main.home .orange-bg.container-md,
main.home .orange-bg.container-sm {
  padding: 28px 20px 36px;
}

main.home .home-hero-logo {
  padding: 16px 20px 20px;
}

main.home .home-hero-banner {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  text-align: center;
}

main.home .home-hero-banner img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  margin: 0 auto;
  object-fit: contain;
}

/* Sözleşme / gizlilik — logo beyaz zemin + turuncu ayırıcı */
main.home.legal-page .legal-hero {
  background-color: #fff;
  padding: 28px 20px 32px;
  border-bottom: 4px solid #da743b;
}

main.home.legal-page .legal-content {
  padding-top: 36px;
}

footer .container .logo {
  width: auto;
  max-width: 96px;
}

footer .container .logo img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 88px;
  object-fit: contain;
}

.navbar.site-navbar.navbar-dark {
  border-bottom-color: rgba(184, 90, 42, 0.28);
}

.navbar.site-navbar.navbar-dark .navbar-brand {
  font-weight: 600;
  background: linear-gradient(
    118deg,
    #ffffff 0%,
    #fff7f2 18%,
    #ffe4d8 38%,
    #ffffff 52%,
    #ffd1bd 68%,
    #fff7f2 88%,
    #ffffff 100%
  );
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.navbar.site-navbar.navbar-dark .nav-item .dropdown-menu {
  border-color: rgba(218, 116, 59, 0.22);
}

.navbar.site-navbar.navbar-dark .navbar-toggler {
  border-color: rgba(218, 116, 59, 0.45);
}

/* Utility cluster: Üye / Sepet / Yardım */
.navbar.site-navbar .nav-item-util {
  display: flex;
  align-items: center;
}

@media (min-width: 992px) {
  .navbar.site-navbar .nav-item-util--start {
    margin-left: 0.55rem;
    padding-left: 0.7rem;
    border-left: 1px solid rgba(255, 255, 255, 0.28);
  }
}

.navbar.site-navbar .nav-link-util {
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
  margin: 0.15rem 0.12rem !important;
  padding: 0.38rem 0.78rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 0.84rem !important;
  letter-spacing: 0.01em;
  line-height: 1.2;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.navbar.site-navbar .nav-link-util i {
  font-size: 0.78rem;
  opacity: 0.95;
}

.navbar.site-navbar .nav-link-util:hover,
.navbar.site-navbar .nav-link-util:focus,
.navbar.site-navbar .nav-link-util.show,
.navbar.site-navbar .nav-item-util.show > .nav-link-util {
  background: rgba(255, 255, 255, 0.22) !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.navbar.site-navbar .nav-link-util:active {
  background: rgba(0, 0, 0, 0.12) !important;
}

/* Sepet özeti — yalnızca ilk "Sepete Eklenenler" başlığında margin-top yok */
main.purchase .review-list .wrapper > .title:first-child,
main.purchase .review-list .wrapper > .info + .title {
  margin-top: 0;
}

/* Sepete Eklenenler — ürün satırları arası silik ayırıcı */
main.purchase .review-list .review-item--cart + .review-item--cart {
  margin-top: 0.45rem;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

main.purchase .review-list .review-item--cart .cart-item__meta {
  margin-top: 0.15rem;
  color: #c46530;
  font-size: 0.82rem;
  font-weight: 500;
}

/* Sepet — ürün satırında öğrenci / kampüs */
.cart-page .cart-item__name {
  font-weight: 600;
  color: #1f2937;
}

.cart-page .cart-item__meta {
  margin-top: 0.2rem;
  color: #c46530;
  font-size: 0.88rem;
  font-weight: 500;
}

footer .container .contact a {
  background: linear-gradient(
    118deg,
    #b85a2a 0%,
    #c46530 18%,
    #da743b 38%,
    #f0a06a 52%,
    #da743b 68%,
    #c46530 88%,
    #b85a2a 100%
  );
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

footer .container .contact a:hover {
  background: linear-gradient(
    118deg,
    #c46530 0%,
    #da743b 22%,
    #ffe4d8 50%,
    #e8894f 74%,
    #b85a2a 100%
  );
  background-size: 200% auto;
  background-position: 100% center;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  filter: drop-shadow(0 0 10px rgba(218, 116, 59, 0.35));
}

main.page-shop .shop-bulk-add {
  background: linear-gradient(
    128deg,
    #b85a2a 0%,
    #da743b 24%,
    #f0a06a 48%,
    #da743b 72%,
    #c46530 100%
  );
  box-shadow:
    0 14px 40px rgba(218, 116, 59, 0.24),
    0 0 24px rgba(218, 116, 59, 0.16);
}

main.page-shop .shop-bulk-add::before {
  background: linear-gradient(
    145deg,
    #b85a2a 0%,
    #c46530 45%,
    #da743b 100%
  );
}

main.page-shop .shop-bulk-add::after {
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(255, 255, 255, 0.08) 38%,
    rgba(255, 209, 189, 0.18) 50%,
    rgba(255, 255, 255, 0.08) 62%,
    transparent 100%
  );
}

main.page-shop .shop-bulk-add__text strong {
  background: linear-gradient(
    118deg,
    #ffffff 0%,
    #fff7f2 22%,
    #ffe4d8 50%,
    #fff7f2 78%,
    #ffffff 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

main.page-shop .shop-bulk-add__text span {
  color: rgba(255, 247, 242, 0.94);
}

main.page-shop .shop-bulk-add__text span::before {
  color: rgba(255, 209, 189, 0.82);
}

/* Primary + cart CTA — brand orange */
.btn-primary,
input.btn-primary[type=submit],
input.btn-primary[type=button],
button.btn-primary,
a.btn-primary,
main.page-shop .shop-bulk-add__btn,
.btn-success,
button.btn-success,
a.btn-success,
.btn-cart,
.btn-cart-select,
.btn-finish.btn-success {
  color: var(--theme-btn-text, #ffffff) !important;
  background: var(--theme-btn-gradient) !important;
  border: 1px solid var(--theme-btn-border) !important;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
  box-shadow: var(--theme-btn-shadow) !important;
}

.btn-primary:hover,
input.btn-primary[type=submit]:hover:not(:disabled),
input.btn-primary[type=button]:hover:not(:disabled),
button.btn-primary:hover:not(:disabled),
a.btn-primary:hover,
main.page-shop .shop-bulk-add__btn:hover:not(:disabled),
.btn-success:hover:not(:disabled),
button.btn-success:hover:not(:disabled),
a.btn-success:hover,
.btn-cart:hover:not(:disabled),
.btn-cart-select:hover:not(:disabled),
.btn-finish.btn-success:hover:not(:disabled) {
  color: var(--theme-btn-text, #ffffff) !important;
  background: var(--theme-btn-gradient-hover) !important;
  border-color: var(--theme-btn-border) !important;
  transform: translateY(-2px);
  filter: brightness(1.04);
  box-shadow: var(--theme-btn-shadow-hover) !important;
}

.btn-primary:focus,
button.btn-primary:focus,
main.page-shop .shop-bulk-add__btn:focus,
.btn-success:focus,
.btn-finish.btn-success:focus {
  color: var(--theme-btn-text, #ffffff) !important;
  background: var(--theme-btn-gradient-hover) !important;
  border-color: var(--theme-btn-border) !important;
  box-shadow: var(--theme-btn-shadow-hover), 0 0 0 0.25rem var(--theme-btn-focus-ring) !important;
}

.btn-primary:active:not(:disabled),
.btn-primary.active,
button.btn-primary:active:not(:disabled),
main.page-shop .shop-bulk-add__btn:active:not(:disabled),
.btn-success:active:not(:disabled),
.btn-finish.btn-success:active:not(:disabled) {
  color: var(--theme-btn-text, #ffffff) !important;
  background: linear-gradient(180deg, #b85a2a 0%, #c46530 45%, #da743b 100%) !important;
  border-color: rgba(184, 90, 42, 0.75) !important;
  transform: translateY(0);
  filter: brightness(0.98);
  box-shadow: 0 2px 10px rgba(184, 90, 42, 0.28), inset 0 2px 4px rgba(0, 0, 0, 0.12) !important;
}

.btn-primary:disabled,
.btn-primary.disabled,
.btn-success:disabled,
.btn-success.disabled,
.btn-finish.btn-success:disabled,
main.page-shop .shop-bulk-add__btn:disabled {
  color: rgba(255, 255, 255, 0.55) !important;
  background: linear-gradient(180deg, #f0f1f4 0%, #d8dce4 45%, #c8cdd6 100%) !important;
  border-color: rgba(168, 173, 182, 0.55) !important;
  text-shadow: none;
  box-shadow: none !important;
  transform: none;
  filter: none;
  opacity: 0.88;
}

/* Secondary / info — soft orange outline on white */
.btn-info,
a.btn-info,
.d-grid a.btn-info {
  color: #b85a2a !important;
  background: linear-gradient(180deg, #fff7f2 0%, #ffe4d8 100%) !important;
  border: 1px solid rgba(218, 116, 59, 0.45) !important;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-shadow: none;
  box-shadow: 0 3px 12px rgba(218, 116, 59, 0.14) !important;
}

.btn-info:hover,
a.btn-info:hover,
.d-grid a.btn-info:hover,
.btn-info:focus,
a.btn-info:focus,
.d-grid a.btn-info:focus {
  color: #ffffff !important;
  background: var(--theme-btn-gradient-hover) !important;
  border-color: var(--theme-btn-border) !important;
  transform: translateY(-1px);
  box-shadow: var(--theme-btn-shadow-hover) !important;
}

.d-grid a.btn-info:active {
  color: #ffffff !important;
  background: var(--theme-btn-gradient) !important;
  border-color: var(--theme-btn-border) !important;
  transform: translateY(0);
  filter: brightness(0.98);
}

/* Adres: same-address soldaki Yeni ekle ile aynı hizada */
main.purchase .address .row div[class*=col-] .same-address {
  display: flex !important;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  min-height: 2.85rem !important;
  margin: 0 0 0.75rem !important;
  padding: 0.7rem 0.85rem !important;
  border: 1px dashed rgba(218, 116, 59, 0.35);
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: none;
  font-size: 0.9rem;
  font-weight: 600;
  color: #4b5563;
}

main.purchase .address .row div[class*=col-] .same-address.selected {
  border-style: solid;
  border-color: rgba(218, 116, 59, 0.45);
  background: linear-gradient(160deg, rgba(255, 247, 237, 0.95) 0%, #ffffff 75%);
  box-shadow: 0 0 0 1px rgba(218, 116, 59, 0.18);
  color: #9a3412;
}

main.purchase .address .row div[class*=col-] .same-address::before {
  margin-right: 0 !important;
  color: #da743b !important;
}

@media (hover: hover) and (pointer: fine) {
  main.purchase .address .row div[class*=col-] .same-address:hover {
    border-color: rgba(218, 116, 59, 0.55);
    background: #fff7ed;
    color: #9a3412;
  }
}
