/* ==========================================================================
   Annika On The Mesa — store styling
   Palette + fonts taken from the site's Elementor global kit so the shop
   matches the rest of the site rather than WooCommerce's defaults.
   ========================================================================== */

:root{
	--aotm-primary:#2A1A13;   /* near-black brown  (kit: Primary)      */
	--aotm-secondary:#683826; /* warm brown        (kit: Secondary)    */
	--aotm-text:#675249;      /* muted body text   (kit: Text)         */
	--aotm-accent:#31452D;    /* deep green        (kit: Accent)       */
	--aotm-bg:#F0EDE1;        /* cream page bg     (kit: Background)   */
	--aotm-bg2:#E9E5D7;       /* darker cream      (kit: Background 2) */
	--aotm-brown:#583A1E;
	--aotm-card:#FBF9F3;
	--aotm-line:rgba(42,26,19,.13);
	--aotm-serif:"Taviraj",Georgia,serif;
	--aotm-sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	--aotm-radius:14px;
	--aotm-shadow:0 10px 30px rgba(42,26,19,.08);
}

/* --------------------------------------------------------------------------
   Buttons — one brown button language everywhere in the shop
   -------------------------------------------------------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce button.single_add_to_cart_button,
.woocommerce a.checkout-button,
.woocommerce #place_order,
.woocommerce .widget_shopping_cart a.button,
.elementor-menu-cart__footer-buttons a.elementor-button{
	background:var(--aotm-secondary) !important;
	color:#FDFBF6 !important;
	border:1px solid var(--aotm-secondary) !important;
	border-radius:10px !important;
	font-family:var(--aotm-sans) !important;
	font-weight:600 !important;
	font-size:15px !important;
	letter-spacing:.015em;
	line-height:1.25 !important;
	padding:15px 28px !important;
	text-decoration:none !important;
	text-transform:none !important;
	box-shadow:0 6px 16px rgba(104,56,38,.20);
	transition:background .18s ease,border-color .18s ease,transform .12s ease,box-shadow .18s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce button.single_add_to_cart_button:hover,
.woocommerce a.checkout-button:hover,
.woocommerce #place_order:hover,
.elementor-menu-cart__footer-buttons a.elementor-button:hover{
	background:var(--aotm-primary) !important;
	border-color:var(--aotm-primary) !important;
	color:#FDFBF6 !important;
	transform:translateY(-1px);
	box-shadow:0 10px 24px rgba(42,26,19,.26);
}
.woocommerce a.button:active,
.woocommerce button.button:active{transform:translateY(0)}

/* Secondary / quieter actions */
.woocommerce .cart .button[name="update_cart"],
.woocommerce button[name="update_cart"],
.woocommerce a.button.wc-backward{
	background:transparent !important;
	color:var(--aotm-secondary) !important;
	border:1px solid var(--aotm-secondary) !important;
	box-shadow:none;
}
.woocommerce button[name="update_cart"]:hover,
.woocommerce a.button.wc-backward:hover{
	background:var(--aotm-secondary) !important;color:#FDFBF6 !important;
}
.woocommerce button[name="update_cart"]:disabled{opacity:.45}

/* --------------------------------------------------------------------------
   Single product — full-width Add to cart, never squashed beside the picker
   Elementor's add-to-cart widget lays form.cart out as a row, which pushed the
   button into a narrow column next to the subscription options. Forcing a
   column here keeps options above and the button full width beneath.
   -------------------------------------------------------------------------- */
.woocommerce div.product form.cart,
.elementor-widget-woocommerce-product-add-to-cart form.cart{
	display:flex !important;
	flex-direction:column !important;
	align-items:stretch !important;
	gap:14px;
	float:none !important;
	width:100%;
}
.woocommerce div.product form.cart::before,
.woocommerce div.product form.cart::after{content:none !important}

.woocommerce div.product form.cart .quantity,
.elementor-widget-woocommerce-product-add-to-cart .e-atc-qty-button-holder{
	align-self:flex-start;
	margin:0 !important;
	float:none !important;
}
.woocommerce div.product form.cart .quantity input.qty{
	border:1px solid var(--aotm-line) !important;
	border-radius:10px !important;
	background:#fff;
	padding:12px 8px !important;
	font-family:var(--aotm-sans);
	color:var(--aotm-primary);
}

.woocommerce div.product form.cart button.single_add_to_cart_button,
.elementor-widget-woocommerce-product-add-to-cart button.single_add_to_cart_button{
	width:100% !important;
	display:block !important;
	float:none !important;
	margin:0 !important;
	padding:17px 28px !important;
	font-size:15.5px !important;
	border-radius:12px !important;
	white-space:normal;
}

/* --------------------------------------------------------------------------
   Subscribe & Save picker
   -------------------------------------------------------------------------- */
.aotm-per{font-weight:600;font-size:.72em;opacity:.7;white-space:nowrap;font-family:var(--aotm-sans)}
.aotm-or{display:block;margin-top:3px;font-size:13.5px;color:var(--aotm-text);font-weight:500;font-family:var(--aotm-sans)}
.aotm-recurring-note{display:block;margin-top:4px;font-size:12px;color:var(--aotm-text);opacity:.85}

.aotm-picker{order:-1;width:100%;box-sizing:border-box;margin:0;display:grid;gap:9px;font-family:var(--aotm-sans)}
.aotm-picker__title{display:block;font-size:11.5px;font-weight:700;letter-spacing:.09em;
	text-transform:uppercase;color:var(--aotm-text);margin-bottom:2px}

.aotm-opt{display:block;margin:0;cursor:pointer;background:var(--aotm-card);
	border:1px solid var(--aotm-line);border-radius:12px;padding:14px 18px;
	transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.aotm-opt:hover{border-color:rgba(104,56,38,.45)}
.aotm-opt:has(input:checked){border-color:var(--aotm-secondary);background:#fff;
	box-shadow:0 0 0 1px var(--aotm-secondary) inset,0 6px 16px rgba(104,56,38,.10)}
.aotm-opt input{margin:0 12px 0 0;vertical-align:middle;accent-color:var(--aotm-secondary)}

.aotm-opt__body{display:inline-flex;align-items:baseline;justify-content:space-between;gap:14px;
	width:calc(100% - 30px);vertical-align:middle;flex-wrap:wrap}
.aotm-opt__name{font-weight:600;font-size:15.5px;color:var(--aotm-primary)}
.aotm-opt__price{font-weight:700;font-size:16.5px;color:var(--aotm-primary);white-space:nowrap}
.aotm-opt__price small{font-weight:500;font-size:12.5px;color:var(--aotm-text);margin-left:2px}

.aotm-save{display:inline-block;margin-left:8px;font-style:normal;font-size:10.5px;font-weight:700;
	letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px;
	background:rgba(49,69,45,.12);color:var(--aotm-accent)}
.aotm-save--plain{background:rgba(42,26,19,.07);color:var(--aotm-text)}
.aotm-picker__fine{margin:2px 0 0;font-size:13px;color:var(--aotm-text);line-height:1.5}

/* Terms panel */
.aotm-terms{width:100%;box-sizing:border-box;margin:24px 0 0;padding:20px 22px;
	background:var(--aotm-bg2);border:1px solid var(--aotm-line);border-radius:var(--aotm-radius);
	font-family:var(--aotm-sans)}
.aotm-terms h4{margin:0 0 12px;font-family:var(--aotm-serif);font-size:19px;font-weight:600;
	letter-spacing:0;text-transform:none;color:var(--aotm-primary)}
.aotm-terms ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.aotm-terms li{position:relative;padding-left:22px;font-size:14.5px;line-height:1.55;
	color:var(--aotm-text);list-style:none}
.aotm-terms li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;
	border-radius:50%;background:var(--aotm-secondary);opacity:.55}

/* --------------------------------------------------------------------------
   Header mini-cart panel
   -------------------------------------------------------------------------- */
.elementor-menu-cart__container{font-family:var(--aotm-sans)}
.elementor-menu-cart__main{
	background:var(--aotm-bg) !important;
	border:0 !important;
	padding:26px 24px !important;
	box-shadow:-16px 0 48px rgba(42,26,19,.20) !important;
}
.elementor-menu-cart__close-button{color:var(--aotm-primary) !important;opacity:.7}
.elementor-menu-cart__close-button:hover{opacity:1}

.elementor-menu-cart__products{padding-top:6px}
.elementor-menu-cart__product{
	border-bottom:1px solid var(--aotm-line) !important;
	padding:16px 0 !important;
}
.elementor-menu-cart__product:last-child{border-bottom:0 !important}
.elementor-menu-cart__product-image img,
.elementor-menu-cart__product .attachment-woocommerce_thumbnail{
	border-radius:10px;box-shadow:0 4px 12px rgba(42,26,19,.12)
}
.elementor-menu-cart__product-name,
.elementor-menu-cart__product-name a{
	font-family:var(--aotm-serif) !important;
	font-size:16px !important;font-weight:600 !important;
	color:var(--aotm-primary) !important;text-decoration:none !important;line-height:1.35
}
.elementor-menu-cart__product-name a:hover{color:var(--aotm-secondary) !important}
.elementor-menu-cart__product-price{color:var(--aotm-text) !important;font-size:14px !important}
.elementor-menu-cart__product-remove,
.elementor-menu-cart__product .remove_from_cart_button{
	color:var(--aotm-secondary) !important;border-color:var(--aotm-line) !important;opacity:.8
}
.elementor-menu-cart__product-remove:hover{opacity:1}

.elementor-menu-cart__subtotal{
	font-family:var(--aotm-serif) !important;
	font-size:20px !important;font-weight:600 !important;
	color:var(--aotm-primary) !important;
	border-top:1px solid var(--aotm-line) !important;
	padding:18px 0 !important;text-align:left
}
.elementor-menu-cart__footer-buttons{display:grid !important;gap:10px}
.elementor-menu-cart__footer-buttons a.elementor-button{width:100%;text-align:center}
/* "View cart" reads as the quieter of the two.
   Needs a.elementor-button in the selector too, otherwise the generic button
   rule above (which has it) wins the specificity tie and both go solid. */
.elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--view-cart{
	background:transparent !important;color:var(--aotm-secondary) !important;
	border:1px solid var(--aotm-secondary) !important;box-shadow:none !important
}
.elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--view-cart:hover{
	background:var(--aotm-secondary) !important;color:#FDFBF6 !important;
	border-color:var(--aotm-secondary) !important
}
.elementor-menu-cart__empty-message{color:var(--aotm-text) !important;font-size:15px}

/* Cart count bubble on the header icon */
.elementor-menu-cart__toggle .elementor-button-icon-qty{
	background:var(--aotm-secondary) !important;color:#FDFBF6 !important;font-family:var(--aotm-sans)
}

/* --------------------------------------------------------------------------
   Cart & Checkout pages
   -------------------------------------------------------------------------- */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-cart .site-content,
.woocommerce-checkout .site-content{background:var(--aotm-bg)}

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce{font-family:var(--aotm-sans);color:var(--aotm-text)}

.woocommerce-cart h1,.woocommerce-checkout h1,
.woocommerce-cart h2,.woocommerce-checkout h2,
.woocommerce-cart h3,.woocommerce-checkout h3,
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout #order_review_heading{
	font-family:var(--aotm-serif) !important;color:var(--aotm-primary) !important;font-weight:600 !important
}

/* Panels */
.woocommerce table.shop_table{
	background:var(--aotm-card);
	border:1px solid var(--aotm-line) !important;
	border-radius:var(--aotm-radius) !important;
	border-collapse:separate !important;border-spacing:0;overflow:hidden;
	box-shadow:var(--aotm-shadow)
}
.woocommerce table.shop_table thead th{
	background:var(--aotm-bg2) !important;color:var(--aotm-primary) !important;
	font-family:var(--aotm-sans) !important;font-weight:700 !important;
	font-size:11.5px !important;letter-spacing:.09em;text-transform:uppercase;
	padding:16px 18px !important;border:0 !important
}
.woocommerce table.shop_table td{
	padding:18px !important;border-top:1px solid var(--aotm-line) !important;
	vertical-align:middle;color:var(--aotm-text)
}
.woocommerce table.shop_table tbody tr:first-child td{border-top:0 !important}
.woocommerce table.cart img{border-radius:10px;max-width:78px;box-shadow:0 4px 12px rgba(42,26,19,.12)}
.woocommerce table.cart td.product-name a{
	font-family:var(--aotm-serif);font-size:16px;font-weight:600;
	color:var(--aotm-primary);text-decoration:none
}
.woocommerce table.cart td.product-name a:hover{color:var(--aotm-secondary)}
.woocommerce a.remove{
	color:var(--aotm-secondary) !important;background:transparent !important;
	border:1px solid var(--aotm-line);border-radius:50%;width:24px;height:24px;line-height:22px;
	font-weight:600;transition:background .15s,color .15s
}
.woocommerce a.remove:hover{background:var(--aotm-secondary) !important;color:#FDFBF6 !important}

/* Coupon */
.woocommerce .cart .coupon input#coupon_code{
	border:1px solid var(--aotm-line) !important;border-radius:10px !important;
	padding:13px 15px !important;background:#fff;min-width:180px;font-family:var(--aotm-sans)
}

/* Totals / order review card */
.woocommerce .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order{
	background:var(--aotm-card) !important;
	border:1px solid var(--aotm-line) !important;
	border-radius:var(--aotm-radius) !important;
	padding:24px 26px !important;
	box-shadow:var(--aotm-shadow)
}
.woocommerce .cart_totals table,
.woocommerce-checkout #order_review table.shop_table{
	background:transparent !important;border:0 !important;box-shadow:none !important;border-radius:0 !important
}
.woocommerce .cart_totals table th,.woocommerce .cart_totals table td,
.woocommerce-checkout #order_review table th,.woocommerce-checkout #order_review table td{
	border:0 !important;border-bottom:1px solid var(--aotm-line) !important;
	padding:14px 4px !important;background:transparent !important
}
.woocommerce tr.order-total th,.woocommerce tr.order-total td{border-bottom:0 !important;padding-top:16px !important}
.woocommerce tr.order-total .amount{
	font-family:var(--aotm-serif);font-size:22px;font-weight:600;color:var(--aotm-primary)
}

/* Checkout form panels */
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2,
.woocommerce-checkout #customer_details .woocommerce-billing-fields,
.woocommerce-checkout #customer_details .woocommerce-additional-fields{
	background:var(--aotm-card);border:1px solid var(--aotm-line);
	border-radius:var(--aotm-radius);padding:24px 26px;box-shadow:var(--aotm-shadow)
}
.woocommerce form .form-row label{color:var(--aotm-primary);font-weight:600;font-size:14px}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout input.input-text,
.woocommerce #order_comments,
.select2-container--default .select2-selection--single{
	border:1px solid var(--aotm-line) !important;border-radius:10px !important;
	padding:14px 15px !important;background:#fff !important;
	font-family:var(--aotm-sans) !important;font-size:15px !important;color:var(--aotm-primary) !important;
	height:auto !important;box-shadow:none !important
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce-checkout input.input-text:focus{
	border-color:var(--aotm-secondary) !important;
	box-shadow:0 0 0 3px rgba(104,56,38,.14) !important;outline:none
}

/* Payment box */
.woocommerce #payment,.woocommerce-checkout #payment{
	background:var(--aotm-bg2) !important;border:1px solid var(--aotm-line) !important;
	border-radius:var(--aotm-radius) !important
}
.woocommerce #payment ul.payment_methods{border-bottom:1px solid var(--aotm-line) !important}
.woocommerce #payment div.payment_box{
	background:var(--aotm-card) !important;border-radius:10px !important;color:var(--aotm-text)
}
.woocommerce #payment div.payment_box::before{border-bottom-color:var(--aotm-card) !important}
.woocommerce-checkout #place_order{width:100%;font-size:16px !important;padding:18px 28px !important}

/* Notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
	border-top-color:var(--aotm-secondary) !important;background:var(--aotm-card) !important;
	color:var(--aotm-text) !important;border-radius:10px;font-family:var(--aotm-sans)
}
.woocommerce-message::before,.woocommerce-info::before{color:var(--aotm-secondary) !important}

/* --------------------------------------------------------------------------
   My Account → My Subscriptions
   -------------------------------------------------------------------------- */
.aotm-list{display:grid;gap:18px;font-family:var(--aotm-sans)}
.aotm-card{background:var(--aotm-card);border:1px solid var(--aotm-line);
	border-radius:var(--aotm-radius);padding:22px 24px;box-shadow:var(--aotm-shadow)}
.aotm-card--cancelled,.aotm-card--completed{opacity:.72}
.aotm-card__head{display:flex;align-items:center;justify-content:space-between;gap:14px;
	flex-wrap:wrap;margin-bottom:14px}
.aotm-card__head h3{margin:0;font-family:var(--aotm-serif);font-size:20px;font-weight:600;
	color:var(--aotm-primary);line-height:1.3}

.aotm-badge{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
	padding:5px 12px;border-radius:999px;white-space:nowrap}
.aotm-badge--active{background:rgba(49,69,45,.13);color:var(--aotm-accent)}
.aotm-badge--ending{background:rgba(104,56,38,.13);color:var(--aotm-secondary)}
.aotm-badge--cancelled{background:rgba(42,26,19,.10);color:var(--aotm-primary)}
.aotm-badge--completed{background:rgba(42,26,19,.07);color:var(--aotm-text)}

.aotm-meta{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:12px 34px}
.aotm-meta li{display:flex;flex-direction:column;list-style:none}
.aotm-meta li span{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--aotm-text)}
.aotm-meta li strong{font-size:16px;font-weight:600;color:var(--aotm-primary)}

.aotm-note{margin:0 0 14px;padding:11px 15px;border-radius:10px;background:var(--aotm-bg2);
	font-size:14px;line-height:1.5;color:var(--aotm-text)}

.aotm-action{display:inline-block;text-decoration:none;font-weight:600;font-size:14px;
	padding:10px 20px;border-radius:10px;border:1px solid currentColor;transition:background .15s,color .15s}
.aotm-action--cancel{color:var(--aotm-secondary)}
.aotm-action--cancel:hover{background:var(--aotm-secondary);color:#FDFBF6}
.aotm-action--resume{color:var(--aotm-accent)}
.aotm-action--resume:hover{background:var(--aotm-accent);color:#FDFBF6}

.aotm-empty{background:var(--aotm-card);border:1px solid var(--aotm-line);
	border-radius:var(--aotm-radius);padding:30px;text-align:center;font-family:var(--aotm-sans)}
.aotm-empty p{margin:0 0 14px;color:var(--aotm-text)}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media(max-width:768px){
	.woocommerce .cart_totals,.woocommerce-checkout #order_review,
	.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{padding:18px 16px !important}
	.elementor-menu-cart__main{padding:20px 18px !important}
}
@media(max-width:480px){
	.aotm-opt{padding:12px 14px}
	.aotm-opt__body{width:calc(100% - 28px)}
	.aotm-opt__name{font-size:14.5px}
	.aotm-card{padding:18px}
	.aotm-meta{gap:12px 22px}
}
